IPC security problem (.NET remoting)

dotnet framework


  • 1. Defining a static method in an interface
    Is it possible to define a static method in a C# interface? If not, is there a workaround i can use? It's like this. I'm writing this very small graphics library for .NET. Now there's this class, and it contains 2 methods: class DglSurface() { INativeSurface face; ... internal DglSurface(INativeSurface face_) { face = face_; } public DglSurface(string filename) { // this is where i need help } } Now, face is the native implemetation (SDL, DirectX, OpenGL). The INativeSurface interface is as follows: internal interface INativeSurface : IDisposable { DglSurface Load(string filename); void SetAlpha(byte alpha); void Blit(Point dest_point, DglSurface dest); void Blit(Rectangle src_rect, Rectangle dest_rect, DglSurface dest); int Width { get; } int Height { get; } } Now the problem is: i want to construct a surface from a file, with DglSurface.ctor(string filename). But, I can't declare Load to be static in the interface. So I need an instance - and that's impossible because i need the load function to create one! And it's also not possible to declare a constructor in an interface... So how can I arrange the Load method to be called as a static function? Any workarounds maybe? I'm sorry if this message isn't very clear... Sijmen Mulder
  • 2. which tool?
    I need a tool to generate forms visually and that tool must export to XML. Once the form is created, it will be sent to a PDA in order to collect some information from the clients. I think I can use Access2002, Visual Fox Pro, Visual Studio or Visual Studio .NET. But which one would be the best one?? why?

IPC security problem (.NET remoting)

Postby em9sb2Y » Fri, 12 May 2006 02:47:02 GMT

I have a problem for my IpcClient to connect to my IpcServer.
I get "Access denied" message.
It appears that the solution is to write this:
  dict["authorizedGroup"] = "Everyone";

This works fine on my computer at work.

The problem is this is not working on my home computer. It is a Windows XP 
french edition. The group "Everyone" does not exists.

Isn't it possible to remove security from the Ipc engine so it will allow 
access to every group ?

Similar Threads:

1.Problems with Events using Remoting with IPC

2.Remoting;IPC; instance problem

Hi to all,

my scenario is this, i have an application running and i need to
connect to that instance from another application so i thougth to use
dotnet remoting.

The problem is that when i had to register the class
(RegisterWellKnownServiceType) i realised that the service instance
that i wanted is already running, created by an application that isn't
using remoting.

The question is, how do i solve this problem? My mind is opened to any
possible scenarios. I already spend many time around this issue.

3.a couple remoting questions (.net 2.0 - ipc)


First a bit of background: I'm shooting for a "single instance running", and I've implemented that with a named local mutex. (I only want it limited to a single instance within an e.g.  "terminal services session".

This appears to be working fine.

Next I want to have subsequent launch attempts of the program to communicate with the running instance so that it can take care of any command line args etc.

I've implemented the interprocess communication using remoting via the new IPC channels. It too appears to be working fine.

My first question relates to redundancy?

Is the ChannelServices.RegisterChannel method itself already protected by a mutex? (that is: if multiple program instances simply try to create the named server channel, am I gauranteed that only one will succeed while the rest will be tossed a "Remoting Exception - This channel has already been registered"?

If so, then manually creating a mutex is redundant and unnecessary.

My second question relates to the name of the IPC channel. In a terminal services environment, are IPC channel names unique to a "machine" or to a "terminal session"? Can you prefix channel names "local\" or "global\" like you can mutex names to enforce the proper semantics? Or is it machine only and I'd have to query some "session token" to include in the channel name to prevent conflicts? 

(And if so, can you suggest the 'session token' that should be used and how it is obtained?)


4.IPC Remoting In a Windows Service

Hi, I have created a Windows Service which uses IPC Remoting to share data 
with a VB.Net application.  The service process runs in the LocalSystem 
Account.  When the the client VB app attempts to access data from the shared 
class, I get the following error:

"Failed to connect to IPC Port.  Access is denied."

Initialy, I developed & debuged  the Windows Service code in a VB.Net 
Windows application and all worked fine.  Is there some security issue I need 
to contend with when running as a LocalSystem service?


5.IPC Remoting "pipe is being closed"

I am using IPC pipes for remoting but I every now and then one of the
pipes stops working. It is with the regularity of about once a day but
can sometimes be quicker. It is not because I do not haave a sponsor
because I do and also that timeout is set for every 5 minutes.

It is in the event intermediate object that it goes wrong. I have
several of these objects that are all used with the same regularity. It
is only ever one object that fails, if you try and write to the object
you get the following exception:

System.Runtime.RemotingException: Failed to write to an IPC Port: The
pipe is being closed.

My only suspicion is that it si connected to the network adapter as
this is constantly cycling between connected and disconnected and it
tends to always go wrong when it disconnects. However I switched to IPC
pipes so that it had nothing to do with networking. In my mind this
should not have anything to do with it.

If anyone can shed some light on this I will be very greatful.


6. Windows-service remoting - IPC vs. COM

7. WCF/Remoting on IPC

8. IPC Remoting not working properly

Return to dotnet framework


Who is online

Users browsing this forum: No registered users and 91 guest