Remove TRemoteObject : System.MarshalByRefObject constraint from RemoteHooking::IpcConnectClient<TRemoteObject>(string InChannelName)


Background: I have a project where the client side and server side code is physically separated and neither of the projects have a reference to the other. There is, however, a 3rd assembly, which contains the interfaces that are implemented on both sides as MarshalByRefObj's, and some serializable dto's, and referenced by the client and the server assemblies. (see the attachment)

Therefore, I need to create the proxy objects using the interfaces, and MarshalByRefObj constraint on RemoteHooking::IpcConnectClient(string InChannelName) makes it unusable in this case.

However, the code below works fine.
this.serverInterface =
            Activator.GetObject(typeof(IServerInterface), "ipc://" + channelName + "/" + channelName);

file attachments

Closed Aug 15, 2015 at 7:11 AM by spazzarama