Взаимодействия объектов

Объект может быть дистанцируемым (remootable), который может быть скопирован  или передан по ссылке или по значению, и недистанцируемым (nonremootable), у которого нет методов, позволяющих средствам Remoting скопировать его в другой домен приложений.

Дистанцируемые объекты могут быть:

§  передаваемы по ссылке (для них необходим прокси). Эти объекты наследуются от класса  System.MarshalByRefObject.

§  передаваемы по значению (должен быть реализован интерфейс ISerializable или объект должен быт помечен атрибутом SerializableAttribute).

Создание серверного объекта

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

§  в режиме Singleton – один на всех (тип WellKnownObjectMode. Singleton)

§  в режиме SingleCall – создание объекта для каждого вызова метода.

Для удаленного объекта может применяться:

§  серверная активизация;

§  клиентская активизация.

При серверной активизация объект на сервере создается в момент вызова метода. При клиентской активизации объект на сервере создается одновременно с созданием его экземпляра вызовом метода new.

Аренда

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

Для инициализации аренды объекта следует переопределить функцию InitializeLifetimeService класса MarshalByRefObject.

После назначения аренды возможно изменять только значение свойства CurrentLeaseTime.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100