powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / ремотинг: как сохранить жизнь объекту?
4 сообщений из 4, страница 1 из 1
ремотинг: как сохранить жизнь объекту?
    #35233598
Фотография Анатолий Иванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой вот вопрос: как сделать, чтобы создаваемые ремотные объекты убивались, когда выходят из области видимости в клиенте, но не убивались, если на них все еще есть ссылки в клиенте?
...
Рейтинг: 0 / 0
ремотинг: как сохранить жизнь объекту?
    #35233670
maybeleo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ИвановТакой вот вопрос: как сделать, чтобы создаваемые ремотные объекты убивались, когда выходят из области видимости в клиенте, но не убивались, если на них все еще есть ссылки в клиенте?Никак. Можно только явно управлять временем жизни - с помощью спонсора, либо вообще сделать их вечно молодыми - в перекрытом InitializeLifetimeService вернуть null.
...
Рейтинг: 0 / 0
ремотинг: как сохранить жизнь объекту?
    #35233743
Фотография Анатолий Иванов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maybeleoНикак. Можно только явно управлять временем жизни - с помощью спонсора, либо вообще сделать их вечно молодыми - в перекрытом InitializeLifetimeService вернуть null.
Явно управлять каждым - не оптимально и чревато ошибками, например, неотписки объекта от спонсора. Вечномолодым сделать - приложение-сервер загнется (не хватит памяти).
...
Рейтинг: 0 / 0
ремотинг: как сохранить жизнь объекту?
    #35233805
maybeleo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ИвановЯвно управлять каждым - не оптимально и чревато ошибками, например, неотписки объекта от спонсора. Вечномолодым сделать - приложение-сервер загнется (не хватит памяти).А никто и не обещал, что с ремотингом все будет просто. В принципе, можно попробовать сделать следующий костыль - объект, в котором будет ссылка на ISponsor и соответствующую ILease. Прикрутить к нему для надежности IDisposable, чтобы можно было явно отписывать спонсора. В финализаторе этого объекта также предусмотреть отписку спонсора, если это не было сделано явно в Dispose. Спонсор должен просто все время продлевать жизнь своему подопытному MBRу. Тогда получится такая петрушка - пока сей описываемый объект-костыль жив, работает спонсор для MBR, он тоже живет. Как только костылю сделали Dispose, или не сделали, но до него добрался GC, отпишется спонсор, и MBR тоже склеит ласты. Боюсь только, что граблей на этом пути не оберешься.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / ремотинг: как сохранить жизнь объекту?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]