如何在C#中的进程之间共享相同的对象实例(单例)?

时间:2009-08-27 08:24:10

标签: c# singleton

  

可能重复:
  How to share objects across processes in .Net?

我可以为单个进程(单个.exe)执行此操作,但如何在进程之间执行此操作?

3 个答案:

答案 0 :(得分:1)

您可以通过remoting执行此操作。您的类需要从MarshalByRefObject继承,这将为您的客户提供真实对象的代理。

答案 1 :(得分:0)

您需要使用某种distributed hash table或缓存机制。

尽可能避免像远程处理这样的事情,因为对远程对象的调用可能会变得昂贵并且开始真正损害性能。如果你使用.net远程处理,那么仔细考虑远程对象的接口。您应该在进程边界内传递粗粒度数据,因此避免使用少量数据进行大量调用的繁琐接口。

您想要充当单身人士的班级有哪些要求?可能有一种完全不同的方式来看待它。目前的想法是单身人士不受欢迎,因为他们难以可靠地进行单元测试,所以避免单身概念可能是我们的目标。

答案 2 :(得分:0)

使用.Net远程处理 (见上面的答案或通过这个网址:http://msdn.microsoft.com/en-us/library/kwdt6w2k%28VS.71%29.aspx

相关问题