Ватсон Карли
Шрифт:
Различие начинается здесь. Мы должны создать локально экземпляр удаленного класса приемника
Теперь можно зарегистрировать метод обработчика объекта
Вызывая метод
Теперь мы более не заинтересованы в получении событий с сервера и отменяем подписку на событие. Следующий раз при вызове
Конфигурационный файл для клиента —
Выполнение программы
Мы видим результирующий вывод на сервере: конструктор удаленного объекта вызывается один раз, так как имеется активированный клиентом объект. Затем происходит вызов метода
В выводе клиента видно, что события достигают его по сети:
Контексты вызова
Активированные клиентом объекты могут сохранять состояние для определенного клиента. Для активированных клиентом объектов на сервере требуются ресурсы. Для активированных сервером объектов
Контекст вызова перемещается вместе с логическим потоком выполнения и передается с каждым вызовом метода. Логический поток выполнения запускается из вызывающего потока выполнения и перемещается через все вызовы методов, которые запускаются из вызывающего потока выполнения и передаются через различные контексты, различные домены приложений и различные процессы.
Можно присвоить данные контексту вызова с помощью метода