Снова о режиме активизации WKO-типов

Снова о режиме активизации WKO-типов

Напомним, что WKO-типы можно настроить для работы либо в режиме синглета, либо в режиме объекта одиночного вызова. В настоящее время ваше серверное приложение регистрирует WKO-тип с использованием семантики активизации синглета.

// Синглеты могут обслуживать множество клиентов.

RemotingConfiguration.RegisterWellKnownServiceType(typeof(SimpleRemotingAsm.RemoteMessageObject), "RemoteMsgObj.soap", WellKnownObjectMode.Singleton);

Снова обратим внимание на то, что WKO-синглеты могут получать запросы от множества клиентов. Поэтому синглеты связаны с удаленными клиентами отношением "один ко множеству". Чтобы проверить это непосредственно, запустите приложение сервера (если оно в настоящий момент еще не выполняется) и три отдельных приложения клиента. Если посмотреть на вывод сервера, вы обнаружите там только один вызов заданного по умолчанию конструктора RemoteMessageObject.

Чтобы рассмотреть поведение объектов одиночного вызова, измените серверное приложение так, чтобы в нем регистрировался WKO-объект, поддерживающий активизацию одиночного вызова.

// WKO-типы одиночного вызова связаны с клиентом

// отношением "один к одному".

RemotingConfiguration.RegisterWellKnownServiceType(typeof(SimpleRemotingAsm.RemoteMessageObject), "RemoteMsgObj.soap", WellKnownObjectMode.SingleCall);

После перекомпиляции и запуска серверного приложения снова запустите три клиента. На этот раз вы увидите, что для каждого запроса клиента будет создан новый RemoteMessageObject. Итак, если вы хотите сделать данные состояния общими для множества удаленных клиентов, то активизация синглета оказывается единственным подходящим вариантом, поскольку тогда все клиенты "общаются" с единственным экземпляром удаленного объекта.

Исходный код. Проекты SimpleRemotingAsm, SimpleRemoteObjectServer и SimpleRemoteObjectClient размещены в подкаталоге, соответствующем главе 18.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Снова IUnknown

Из книги Давайте создадим компилятор! автора Креншоу Джек

Снова IUnknown IUnknown не имеет реализации по умолчанию, которая являлась бы частью интерфейса системного вызова СОМ. Заголовочные файлы SDK не содержат базовых классов, макросов или шаблонов, предусматривающих реализации QueryInterface, AddRef и Release, которые должны использоваться во


Снова интерфейс и реализация

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

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


Снова выражения

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

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


18.9.1 Снова о предосторожностях

Из книги Эффективное делопроизводство автора Пташинский Владимир Сергеевич

18.9.1 Снова о предосторожностях В начале этой главы было уже сказано, что одновременное обращение к диску двух разных операционных систем может привести к неприятностям. Но об этом придется напомнить еще раз в связи с только что рассмотренной возможностью получения


Варианты активизации для MBR-типа: WKO и CAO

Из книги Основы AS/400 автора Солтис Фрэнк

Варианты активизации для MBR-типа: WKO и CAO Еще одной проблемой выбора, возникающей перед вами, как программистом, является принятие решения о том, когда следует активизировать MBR-объект и когда этот объект должен стать кандидатом для участия в процедуре сборки мусора на


Особенности активизации

Из книги Ощупывая слона [Заметки по истории русского Интернета] автора Кузнецов Сергей Юрьевич

Особенности активизации Разработка словарей, как и любого программного продукта, – трудоемкий процесс. Не секрет, что пиратское копирование программ наносит разработчикам огромный ущерб, поэтому создатели стараются противостоять нелегальному копированию их


Группа активизации ILE

Из книги Феномен науки. Кибернетический подход к эволюции автора Турчин Валентин Фёдорович

Группа активизации ILE Группа активизации содержит целиком или только ссылки на некоторые компоненты со странными, на первый взгляд, именами и аббревиатурами. Давайте сначала разберемся, что это за компоненты.Блок управления активизацией программы PACB (Program Activation Control Block)


Процессы, задачи, задания, группы активизации и потоки

Из книги Удвоение продаж в интернет-магазине автора Парабеллум Андрей Алексеевич

Процессы, задачи, задания, группы активизации и потоки Как уже упоминалось, первоначально в AS/400 было определено три уровня работы. Самый низкий уровень, под MI, — задача. Процесс «живет» на уровне MI и построен на структуре задач SLIC. Поверх модели процессов MI OS/400 в качестве


1. Снова о хакерах

Из книги Цифровой журнал «Компьютерра» № 164 автора Журнал «Компьютерра»


6.1. Снова о понятиях

Из книги Мир InterBase. Архитектура, администрирование и разработка приложений баз данных в InterBase/FireBird/Yaffil автора Ковязин Алексей Николаевич


Глава 6. Клиенты, которые покупают снова и снова

Из книги Человеческий фактор. Успешные проекты и команды автора Листер Тимоти

Глава 6. Клиенты, которые покупают снова и снова Начните вести клиентскую базу Большая часть прибыли интернет-магазинов строится на постоянных клиентах, которые совершают регулярные покупки. Однако часто покупатели не возвращаются лишь потому, что забыли про ваш


Ложь навсегда: почему нас обманывают снова и снова Василий Щепетнёв

Из книги Инкубатор Twitter. Подлинная история денег, власти, дружбы и предательства автора Билтон Ник

Ложь навсегда: почему нас обманывают снова и снова Василий Щепетнёв Опубликовано 17 марта 2013 На днях попалась мне книга с примечательным названием: «Как узнать, что вас опять обманывают». Стояла она на полке магазина не вольно, а запечатанная в


И снова про транзакции

Из книги автора

И снова про транзакции Новичков иногда пугает "особенность" IBX закрывать все запросы при подтверждении или "откате" транзакции. Разместим на нашей форме две кнопки, как показано на рис. 2.10: Button 1 (свойство Caption равно Commit) и Button2 (Rollback). Рис 2.10. Кнопки управления