System.Runtime.Remoting.Lifetime Namespace

Пространство имен System.Runtime.Remoting.Lifetime содержит классы, которые управляют временем жизни удаленных объектов. The System.Runtime.Remoting.Lifetime namespace contains classes that manage the lifetime of remote objects.

Классы

ClientSponsor

Предоставляет реализацию по умолчанию для класса спонсора жизненного цикла.Provides a default implementation for a lifetime sponsor class.

LifetimeServices

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

Интерфейсы

ILease

Определяет объект времени жизни аренды, который используется службой времени жизни удаленного взаимодействия.Defines a lifetime lease object that is used by the remoting lifetime service.

ISponsor

Указывает, что средству реализации необходимо стать спонсором времени жизни аренды.Indicates that the implementer wants to be a lifetime lease sponsor.

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

LeaseState

Указывает возможные состояния аренды жизненного цикла.Indicates the possible lease states of a lifetime lease.

Комментарии

В большинстве случаев распределенная сборка мусора использует счетчики ссылок и вызовы для контроля над временем существования объектов.Traditionally, distributed garbage collection uses reference counts and pinging for control over the lifetime of objects. Это работает правильно при наличии небольшого числа клиентов каждой службы, но не масштабируется при наличии тысяч клиентов на службу.This works well when there are a few clients per service, but doesn't scale well when there are thousands of clients per service. Служба времени жизни удаленного взаимодействия связывает аренду с каждой службы и удаляет службу по истечении времени аренды.The remoting lifetime service associates a lease with each service, and deletes a service when its lease time expires. Служба времени жизни может принимать функция обычного распределенного сборщика мусора и его своевременное при увеличении количества клиентов на сервер.The lifetime service can take on the function of a traditional distributed garbage collector, and it also adjusts well when the numbers of clients per server increases.

Каждый домен приложения содержит диспетчер аренды, который отвечает за управление арендой в своем домене.Each application domain contains a lease manager that is responsible for controlling leases in its domain. Все аренды периодически проверяются сроки действия аренды.All leases are examined periodically for expired lease times. Если срок аренды истек, один или несколько спонсоров аренды вызывается и рассматривает возможность обновления аренды.If a lease has expired, one or more of the lease's sponsors are invoked and given the opportunity to renew the lease. Если ни один из спонсоров обновления аренды, диспетчер аренды удаляет аренду и объект может быть собран сборщиком мусора.If none of the sponsors decides to renew the lease, the lease manager removes the lease and the object can be collected by the garbage collector. Диспетчер аренды управляет списком аренды с арендой, отсортированных по оставшееся время аренды.The lease manager maintains a lease list with leases sorted by remaining lease time. Аренда с наименьшим временем оставшиеся хранятся в верхней части списка.The leases with the shortest remaining time are stored at the top of the list.