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

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

Классы

ClientSponsor

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

LifetimeServices

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

Интерфейсы

ILease

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

ISponsor

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

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

LeaseState

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

Комментарии

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

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