Инсталляция приложения, использующего удаленное взаимодействие

Инсталляция приложения, использующего удаленное взаимодействие

Хватит акронимов! К этому моменту вы почти готовы к построению своего первого .NET-приложения, использующего удаленное взаимодействие. Но перед тем, как это сделать, мы должны обсудить одну деталь: процедуру инсталляции. При создании приложения удаленного взаимодействия .NET вы, скорее всего, будете иметь три (да, именно три, а не два) разных компоновочных блока .NET, составляющих ваше приложение. Я уверен, что первые два компоновочных блока вы смо-жете указать сами.

Клиент. Этот компоновочный блок представляет сущность (например, приложение Windows Forms или консольное приложение), заинтересованную в получении доступа к удаленному объекту.

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

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

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

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

• Использовать приложение командной строки soapsuds.exe. С помощью этого инструмента можно сгенерировать компоновочный блок, содержащий только метаданные удаленных типов.

• Вручную построить компоновочный блок, содержащий только метаданные удаленных типов.

Тем не менее, чтобы упростить изложение материала этой главы, мы с вами построим и установим общие компоновочные блоки, содержащие как необходимые метаданные, так и CIL-код реализации.

Замечание. Чтобы выяснить, как реализовать общие компоновочные блоки в рамках указанных выше альтернативных подходов, прочитайте книгу Tom Barnaby, Distributed .NET Programming in C# (Apress, 2002).

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

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

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

ТЕМА НОМЕРА: Удаленное присутствие

Из книги Журнал «Компьютерра» № 18 от 15 мая 2007 года автора Журнал «Компьютерра»

ТЕМА НОМЕРА: Удаленное присутствие Автор: Леонид Левкович-МаслюкАвтобус чинно проплывает по неожиданно безлюдным и безмашинным улицам субботнего Мюнхена, выезжает на трассу, ведущую в горы, в трогательном согласии с дорожными знаками набирает скорость. До знаменитого


Удаленное управление компьютером

Из книги 200 лучших программ для Интернета. Популярный самоучитель автора Краинский И

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


4 Удаленное управление

Из книги Удаленная работа на компьютере: как работать из дома комфортно и эффективно автора Клименко Роман Александрович

4 Удаленное управление Проблемы удаленного управления компьютером считаются прерогативой администраторов, поэтому необходимость их рассмотрения в этой книге долго оставалась под вопросом. В конце концов я решил описать методы удаленного управления по той простой


Тестирование приложения, использующего удаленное взаимодействие

Из книги Установка и настройка Windows XP. Легкий старт автора Донцов Дмитрий

Тестирование приложения, использующего удаленное взаимодействие При тестировании приложения начните с запуска серверного приложения, которое откроет HTTP-канал и зарегистрирует объект RemoteMessageObject для удаленного доступа. Затем запустите экземпляр приложения клиента.


Асинхронное удаленное взаимодействие

Из книги 300 лучших программ на все случаи жизни автора Леонтьев Виталий Петрович

Асинхронное удаленное взаимодействие В завершение нашего обсуждения материала данной главы давайте выясним, как вызывать члены удаленного типа асинхронно. В главе 14 была рассмотрена тема асинхронного вызова методов с помощью типов делегата. Как и следует ожидать, при


Удаленное использование

Из книги Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 автора Дайлип Наик

Удаленное использование В окне Панель управления дважды щелкаем на значке Система. В открывшемся окне переходим на вкладку Удаленное использование (рис. 4.4). Рис. 4.4. Удаленное использование.В области Удаленный помощник снимаем флажок Разрешить отправку приглашения


Удаленное управление

Из книги Сетевые средства Linux автора Смит Родерик В.

Удаленное управление Управляться со своим собственным компьютером умеет не каждый. Ну а если вам вдруг понадобиться изменить что-то на ЧУЖОМ компьютере? Причем находящемся черте-где, возможно даже в другом городе?А это бывает не так уж редко. К примеру, нужно помочь


9.4 Локальное и удаленное зеркальное отражение

Из книги Мошенничество в Интернете. Методы удаленного выманивания денег, и как не стать жертвой злоумышленников автора Гладкий Алексей Анатольевич

9.4 Локальное и удаленное зеркальное отражение Зеркальное отражение уже упоминалось в разделе 9.1, но подробно не рассматривалось. Зеркальное отражение представляет собой процесс создания дубликата доступных данных, что позволяет обеспечить доступность данных при


Удаленное администрирование с помощью Webmin

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

Удаленное администрирование с помощью Webmin Инструмент Webmin (http://www.webmin.com/webmin/) позволяет решить те же задачи, что и Linuxconf. Он упрощает действия администратора по конфигурированию системы и предназначен для настройки различных версий Linux. Webmin обеспечивает работу не только с


Удаленное шифрование данных

Из книги QNX/UNIX [Анатомия параллелизма] автора Цилюрик Олег Иванович

Удаленное шифрование данных В отличие от перечисленных выше схем выманивания денежных средств через Интернет, которые больше напоминают элементарный «развод» или «кидалово», описываемый в этом разделе способ интернет-мошенничества относится к разряду «продвинутых» и


Удаленное администрирование сервера TeamTalk

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Удаленное администрирование сервера TeamTalk Когда мы устанавливали сервер TeamTalk у себя на компьютере, для того чтобы иметь возможность общаться в своей локальной сети, то разрешили так называемое удаленное администрирование. Теперь самое время более подробно рассказать о


Удаленное управление по модемной линии

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

Удаленное управление по модемной линии В наш век высокоскоростного Интернета про медленные соединения по модемной линии можно было бы и забыть, если бы не некоторые обстоятельства. Например, быстрое ADSL-соединение утрачивает свои скоростные свойства при удалении от


Код процесса-сервера, использующего службу глобальных имен

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

Код процесса-сервера, использующего службу глобальных имен #include <stdio.h>#include <errno.h>#include <stdlib.h>#include <sys/dispatch h>/* На сервер могут приходить и импульсы. Как минимум. */typedef struct _pulse msg_header_t;/* Структура сообщения состоит из заголовка и буфера наших данных */typedef struct _MsgBuf


Код процесса-клиента, использующего службу глобальных имен

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

Код процесса-клиента, использующего службу глобальных имен #include <stdio.h>#include <errno.h>#include <stdlib.h>#include <sys/dispatch.h>/* На сервер могут приходить и импульсы. Как минимум. */typedef struct _pulse msg_header_t;/* Структура сообщения состоит из заголовка и буфера наших данных */typedef struct _MsgBuf