-
.NET Remoting
I've been playing around with remoting for a while. Now that I've actually started a serious project with it, I've run into something important: How can you implement the shared object so that only the server can trigger certain events?
suppose:
Code:
// ...
public delegate void AdminTriggeredEvent(/* .... */ );
public interface IWellKnownInterface
{
/*
....
*/
event AdminTriggeredEvent AdminEvent;
};
Without, for example, using a public / private key encryption to verify the sender of every event (which would be very inefficient), any client could trigger this event.
Thoughts?
-
Does remoting allow more than one client at once? If not, why would you worry about that? The event only gets fired by the server, so the server probably won't listen to it. If the (only) client now fires the event, it only confuses itself.
-
As far as I know, it does. (The C# corner article this week talks about calling events asynchronously so that one client timing out wont prevent the events from being triggered on the others.
All very interesting stuff, but hard to wrap your head around.