Образец Custom Proxies Technology
Этот раздел относится к технологии прежних версий, которая сохраняется для обеспечения обратной совместимости с существующими приложениями и не рекомендуется для разработки новых приложений. Сейчас распределенные приложения следует создавать с помощью Windows Communication Foundation (WCF).
В этом образце демонстрируется расширяемость класса RealProxy. Расширение класса RealProxy позволяет коду пользователя получить доступ к сообщениям, передаваемым в любой удаленный объект и получаемым от него. В примере создаются три исполняемых файла. Приложение ProxyWithReturnMessage.exe переопределяет метод Invoke для отображения данных сообщения. Приложение ProxyWithCustomCasting.exe использует два интерфейса под названием IFaq и IBaz для отображения пользовательских возможностей приведения. Приложение ProxyWiredToHttpChannel.exe показывает, как перехватывать и пересылать запрос службе RemotingHello с использованием Http-канала.
![]() |
---|
Для данного примера требуется установка служб IIS на компьютере. Перед выполнением примеров приложений необходимо зарегистрировать службы RemotingHello и IIS. |
Построение образца с использованием командной строки
Откройте окно командной строки и перейдите в подкаталог \CS.
В командной строке введите msbuild CustomProxiesCS.sln.
Примечание
В данном образце выполняется построение трех консольных приложений. Чтобы просмотреть выводимые ими данные, необходимо загрузить и выполнить их в командной строке.
Построение примера с использованием Visual Studio
Откройте обозреватель Windows и перейдите во вложенную папку CS.
Дважды щелкните значок CustomProxiesCS.sln, чтобы открыть файл в Visual Studio.
В меню Построение выберите Построить решение.
Регистрация службы в IIS
Скомпилируйте службу для DLL и скопируйте DLL в каталог bin, из которого будет загружена служба. Построение примера с использованием командной строки или Visual Studio, как описано выше, компилирует службу, создает вложенную папку bin в каталоге ProxyWiredToHttpChannel и копирует туда файл Hello.dll.
Запустите диспетчер служб Интернета и выделите Веб-узел по умолчанию на узле сервера. Выделите в меню Действие, Создать, Виртуальный каталог и щелкните Далее для продолжения.
Введите RemotingHello в качестве псевдонима и нажмите Далее.
Введите каталог, в котором расположена служба. Введите полный путь, но не включайте в него каталог bin, в который на первом этапе был скопирован файл dll.
Нажмите Далее. Примите параметры, заданные по умолчанию, и снова нажмите Далее. Нажмите Готово. Теперь сервер добавлен и появится в списке веб-узлов по умолчанию в окне диспетчера служб Интернета.
Убедитесь, что файл web.config содержится в том каталоге, в котором была зарегистрирована служба. В этом файле содержится описание службы. Файл загружается автоматически, когда клиент пытается получить доступ к веб-обозревателю или клиенту, используя HTTP-канал на порте 80.
Выполнение примера
Перейдите в каталог, содержащий один из трех исполняемых файлов:
ProxyWiredToHttpChannel.exe
ProxyWithCustomCasting.exe
ProxyWithReturnMessage.exe.
Каждый исполняемый фал располагается во вложенной папке \bin\Debug в каталоге с тем же именем, что и у консольного приложения.
Введите имя исполняемого файла в командной строке. Перед выполнением ProxyWiredToHttpChannel.exe убедитесь, что служба RemotingHello зарегистрирована в службе IIS, как описано выше.
См. также
Справочник
IChannel
IMessage
IRemotingTypeInfo
MarshalByRefObject
OneWayAttribute
RealProxy
System.Collections
System.Runtime.Remoting
System.Runtime.Remoting.Proxies
System.Runtime.Remoting.Messaging
UnmanagedType
Основные понятия
Другие ресурсы
Расширенное удаленное взаимодействие
Активация и время существования объектов
Дата сборки: 2010-02-13