.NET Remoting client.exe 需要 server.exe
我有一个正在运行的分布式应用程序,但有一个相当大的缺陷。 client.exe 需要 server.exe 才能工作。
原因是客户端和服务器使用 MarshalByRef 类(以 .DLL 的形式存在于双方),其中包含对服务器的引用。
有什么方法可以重新安排事情,以便我不需要客户端上的 server.exe 副本?
I have a working distributed application that has a rather big blemish. The client.exe needs the server.exe to work.
The reason for this is that the client and server use a MarshalByRef Class (which exists on both sides in the form of a .DLL) which contains a reference to the server.
Is there any way I can rearrange things so that I don't need a copy of the server.exe on the client?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的。
创建一个单独的程序集 (dll),其中包含共享类/接口,并将该 dll 分发给客户端和服务器。
通过这样做,客户端不需要server.exe,它只需要共享dll。
Yes.
Create a seperate assembly (dll), which contains the shared classes / interfaces, and distribute that dll with your client and server.
By doing so, the client doesn't need the server.exe, it just needs the shared dll.
创建一个表示此 MarshalByRef 类的方法、属性等的接口,让该类实现此接口,将该接口放置在单独的 DLL 中,然后从客户端使用它。
如果你用谷歌搜索的话,有很多示例远程接口。
Create an interface that represents the methods, properties, etc, of this MarshalByRef class, have the class implement this interface, place the interface in a separate DLL, and just use that from the client.
There are plenty of examples around if you google for remoting interface.