Образец Custom Proxies Technology

Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).

В этом образце демонстрируется расширяемость класса RealProxy. Расширение класса RealProxy позволяет коду пользователя получить доступ к сообщениям, передаваемым в любой удаленный объект и получаемым от него. В примере создаются три исполняемых файла. Приложение ProxyWithReturnMessage.exe переопределяет метод Invoke для отображения данных сообщения. Приложение ProxyWithCustomCasting.exe использует два интерфейса под названием IFaq и IBaz для отображения пользовательских возможностей приведения. Приложение ProxyWiredToHttpChannel.exe показывает, как перехватывать и пересылать запрос службе RemotingHello с использованием Http-канала.

hzzt6yfe.Important(ru-ru,VS.100).gif Примечание
Для данного примера требуется установка служб IIS на компьютере. Перед выполнением примеров приложений необходимо зарегистрировать службы RemotingHello и IIS.

Построение образца с использованием командной строки

  1. Откройте окно командной строки и перейдите в подкаталог \CS.

  2. В командной строке введите msbuild CustomProxiesCS.sln.

    hzzt6yfe.note(ru-ru,VS.100).gifПримечание
    В данном образце выполняется построение трех консольных приложений. Чтобы просмотреть выводимые ими данные, необходимо загрузить и выполнить их в командной строке.

Построение примера с использованием Visual Studio

  1. Откройте обозреватель Windows и перейдите во вложенную папку CS.

  2. Дважды щелкните значок CustomProxiesCS.sln, чтобы открыть файл в Visual Studio.

  3. В меню Построение выберите Построить решение.

Регистрация службы в IIS

  1. Скомпилируйте службу для DLL и скопируйте DLL в каталог bin, из которого будет загружена служба. Построение примера с использованием командной строки или Visual Studio, как описано выше, компилирует службу, создает вложенную папку bin в каталоге ProxyWiredToHttpChannel и копирует туда файл Hello.dll.

  2. Запустите диспетчер служб Интернета и выделите Веб-узел по умолчанию на узле сервера. Выделите в меню Действие, Создать, Виртуальный каталог и щелкните Далее для продолжения.

  3. Введите RemotingHello в качестве псевдонима и нажмите Далее.

  4. Введите каталог, в котором расположена служба. Введите полный путь, но не включайте в него каталог bin, в который на первом этапе был скопирован файл dll.

  5. Нажмите Далее. Примите параметры, заданные по умолчанию, и снова нажмите Далее. Нажмите Готово. Теперь сервер добавлен и появится в списке веб-узлов по умолчанию в окне диспетчера служб Интернета.

  6. Убедитесь, что файл web.config содержится в том каталоге, в котором была зарегистрирована служба. В этом файле содержится описание службы. Файл загружается автоматически, когда клиент пытается получить доступ к веб-обозревателю или клиенту, используя HTTP-канал на порте 80.

Выполнение примера

  1. Перейдите в каталог, содержащий один из трех исполняемых файлов:

    • ProxyWiredToHttpChannel.exe

    • ProxyWithCustomCasting.exe

    • ProxyWithReturnMessage.exe.

    Каждый исполняемый фал располагается во вложенной папке \bin\Debug в каталоге с тем же именем, что и у консольного приложения.

  2. Введите имя исполняемого файла в командной строке. Перед выполнением ProxyWiredToHttpChannel.exe убедитесь, что служба RemotingHello зарегистрирована в службе IIS, как описано выше.

См. также

Справочник

IChannel
IMessage
IRemotingTypeInfo
MarshalByRefObject
OneWayAttribute
RealProxy
System.Collections
System.Runtime.Remoting
System.Runtime.Remoting.Proxies
System.Runtime.Remoting.Messaging
UnmanagedType

Основные понятия

Расширение RealProxy

Другие ресурсы

Расширенное удаленное взаимодействие
Активация и время существования объектов

Дата сборки: 2010-02-13