我创建了一个简单的C#远程服务器/客户端,其中包含复制现有VB6 ActiveX exe的视图。
客户端正确创建服务器激活的单例对象。只有一个属性 - 一个Count,对象才非常简单。运行的每个客户端都会创建对象并递增其Count。
简单 - 多个客户端各自使用相同的Simpleton对象,并且Count属性可以逐个递增。
但是......如果我让客户端打开一段时间 - 例如,几分钟 - 当客户端递增对象的Count属性时,突然Count属性已初始化为零 - 跨越所有客户。就像遥控器一样 尽管只有一次从服务器检索对象 - 当客户端打开时,对象已被销毁并重新创建。
任何想法,
由于 MM
答案 0 :(得分:1)
我相信你需要覆盖远程对象的生命周期:
public override object InitializeLifetimeService()
{
return null; //remote object lease time forever
}
将它放入继承MarshalByRefObject
的类中