Вопрос

Я создал простой удаленный сервер/клиент C# с представлением воспроизведения существующего VB6 ActiveX EXE.

Клиент правильно создает сервер, активированный объект Singleton. Объект очень прост имеет единственное свойство - количество. Каждый клиент, который работает, создает объект и увеличивает свой счет.

Простые - каждый клиент работает с одним и тем же объектом Simpleton, и свойство Count может быть увеличено по каждому.

Однако ... если я оставлю клиента открытым в течение какого -то времени - например, пару минут - когда клиент увеличивает свойство объекта, вдруг свойство Count инициализировано до нуля - для всех клиентов. Как будто удаленный объект был уничтожен и воссоздан, несмотря на то, что объект когда -либо был извлечен с сервера только один раз - когда клиент открывается.

Любые мысли оценили,

Спасибо, мм

Это было полезно?

Решение

Я считаю, что вам нужно переопределить срок службы удаленного объекта:

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

Поместите это в свой класс, который наследует Marshalbyrefobocte

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top