Поделиться через


System.Runtime.Remoting.Lifetime Пространство имен

Содержит классы, управляющие временем существования удаленных объектов.

Классы

ClientSponsor

Предоставляет реализацию по умолчанию для класса спонсора жизненного цикла.

LifetimeServices

Управляет службами времени жизни удаленного взаимодействия .NET.

Интерфейсы

ILease

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

ISponsor

Указывает, что средству реализации необходимо стать спонсором времени жизни аренды.

Перечисления

LeaseState

Указывает возможные состояния аренды жизненного цикла.

Комментарии

Как правило, распределенная сборка мусора использует счетчики ссылок и связь для управления временем существования объектов. Это хорошо работает, если на службу приходится несколько клиентов, но не масштабируется, если на службу приходится тысячи клиентов. Служба времени существования удаленного взаимодействия связывает аренду с каждой службой и удаляет службу по истечении срока аренды. Служба времени существования может выполнять функцию традиционного распределенного сборщика мусора, а также хорошо корректироваться при увеличении числа клиентов на сервер.

Каждый домен приложения содержит диспетчер аренды, отвечающий за управление арендой в своем домене. Все аренды периодически проверяются на предмет истечения срока аренды. Если срок аренды истек, то вызывается один или несколько спонсоров аренды и дают возможность продлить аренду. Если ни один из спонсоров не решит продлить аренду, менеджер аренды удаляет аренду, и объект может быть собран сборщиком мусора. Менеджер аренды ведет список аренд с арендами, отсортированных по остающемуся времени аренды. Аренды с минимальным оставшимся временем хранятся в верхней части списка.