-1

我创建了一个简单的 C# 远程服务器/客户端,以复制现有的 VB6 ActiveX exe。

客户端正确地创建了一个服务器激活的单例对象。该对象非常简单,只有一个属性 - 计数。每个运行的客户端都会创建对象并增加其计数。

简单 - 多个客户端每个都使用相同的 Simpleton 对象,并且每个客户端都可以递增 Count 属性。

但是......如果我让客户端打开任何时间长度 - 例如几分钟 - 当客户端增加对象的 Count 属性时,突然 Count 属性已被初始化为零 - 在所有客户端中。就好像远程对象已被销毁并重新创建,尽管该对象仅从服务器检索一次 - 当客户端打开时。

任何想法表示赞赏,

谢谢MM

4

1 回答 1

1

我相信您需要覆盖远程对象的生命周期:

public override object InitializeLifetimeService()
    {
        return null; //remote object lease time forever
    }

将其放入继承 MarshalByRefObject 的类中

于 2013-11-07T11:41:15.143 回答