我有一个工作分布式应用程序,有一个相当大的缺陷。 client.exe需要server.exe才能工作。
原因是客户端和服务器使用MarshalByRef类(它以.DLL的形式存在于两侧),其中包含对服务器的引用。
有什么方法可以重新安排内容,这样我就不需要客户端上的server.exe副本了吗?
答案 0 :(得分:1)
是
创建一个单独的程序集(dll),其中包含共享的类/接口,并将该DLL与您的客户端和服务器一起分发。 通过这样做,客户端不需要server.exe,它只需要共享的dll。
答案 1 :(得分:1)
创建一个表示此MarshalByRef类的方法,属性等的接口,让类实现此接口,将接口放在单独的DLL中,并使用来自客户端的接口。
如果你谷歌用于远程接口,那么周围有很多examples。