Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Создание файлов *.config клиента

Создание файлов *.config клиента

Клиенты тоже могут использовать файлы *.config удаленного взаимодействия. В отличие от файлов конфигурации сервера, в файлах конфигурации клиента для идентификации имени WKO-объекта используется элемент ‹client›. Вдобавок к возможности динамического изменения параметров удаленного взаимодействия без перекомпиляции базового программного кода, файлы *.config клиента позволяют создать тип агента непосредственно с помощью ключевого слова C# new, не используя метод Activator.GetObject(). Предположим, например, что у нас есть файл *.config клиента со следующим содержимым.

‹configuration›
 ‹system.runtime.remoting›
  ‹application›
   ‹client displayName = "SimpleRemoteObjectClient"›
    ‹wellknown type=" SimpleRemotingAsm.RemoteMessageObject, SimpleRemotingAsm" url="http://localhost:32469/RemoteMsgObj.soap"/›
   ‹/client›
   ‹channels›
    ‹channel ref="http"/›
   ‹/channels›
  ‹/application›
 ‹/system.runtime.remoting›
‹/configuration›

Тогда можно изменить метод Main() клиента так.

statiс void Main(string[] args) {
 RemotingConfiguration.Configure("SimpleRemoteObjectClient.exe.config");
 // При использовании файла *.config клиент может создать тип
 // непосредственно с помощью ключевого слова 'new' .
 RemoteMessageObject simple = new RemoteMessageObject();
 simple.DisplayMessage("Привет от клиента!");
 Console.WriteLine("Сервер говорит: {0}", simple.ReturnMessage());
 Console.WriteLine("Старт клиента! Для остановки нажмите ‹Enter›");
 Console.ReadLine();
}

При выполнении этого варианта приложения вывод оказывается аналогичным исходному. Если клиент пожелает использовать TCP-канал, то для свойств url элемента ‹wellknown› и ref элемента ‹сhannel› следует вместо http указывать tcp.

Исходный код. Проекты SimpleRemoteObjectServerWithConfig и SimpleRemoteObjectClientWithConfig размещены в подкаталоге, соответствующем главе 18 (оба эти проекта используют созданный выше компоновочный блок SimpleRemotingAsm.dll).

Оглавление книги


Генерация: 1.192. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз