Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПвИ / Конспект лекций.doc
Скачиваний:
224
Добавлен:
01.06.2015
Размер:
1.05 Mб
Скачать

Channel Services (System.Runtime.Remoting.Channels)

Приложения .NET и AppDomain'ы взаимодействуют между собой посредством сообщений. .NET Channel Services предоставляют транспортный механизм, обеспечивающий это взаимодействие.

В .NET Framework поддерживаются HTTP и TCP-каналы, но сторонние фирмы могут писать и подключать каналы собственной разработки. По умолчанию HTTP-канал использует для взаимодействия протокол SOAP, а TCP-канал - данные, передаваемые в пакетах (payload) в двоичном формате (Binary).

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

Пример кода, загружающего Channel Services

public class myRemotingObj

{

HttpChannel httpChannel;

TcpChannel tcpChannel;

public void myRemotingMethod()

{

httpChannel = new HttpChannel();

tcpChannel = new TcpChannel();

ChannelServices.RegisterChannel(httpChannel);

// Регистрируем HTTP-канал

ChannelServices.RegisterChannel(tcpChannel);

// Регистрируем TCP-канал

}

}

Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)

Форматирующие объекты (formatters) сериализации используются в .NET для кодирования и декодирования сообщений, передаваемых между приложениями и AppDomain'ами. В исполняющей среде .NET имеется два встроенных форматирующих объекта: Binary (System.Runtime.Serialization.Formatters.Binary) и SOAP (System.Runtime.Serialization.Formatters.Soap).

Для подключения форматирующих объектов сериализации необходимо реализовать интерфейс IRemotingFormatter и подключить его к каналу (о каналах рассказывалось выше). Благодаря этому обеспечивается гибкий выбор канала и форматирующего объекта, наилучшим образом отвечающих потребностям приложения. Различные сочетания канала и форматирующего объекта рассматриваются в последующих разделах этого документа.

Пример: вы можете работать с HTTP-каналом, использующим форматирующий объект Binary, и TCP-каналом, использующим форматирование SOAP.

Соседние файлы в папке ПвИ