Как устанавливать и настраивать компоненты активации WCF
В этом разделе описывается настройка службы активации Windows (WAS) в Windows Vista для размещения служб Windows Communication Foundation (WCF), обменивающихся данными не по сетевым протоколам HTTP. Настройка предполагает следующие шаги.
Установите или проверьте, установлены ли компоненты активации WCF.
Настройте WAS на поддержку отличных от HTTP протоколов. Выполнение описанных ниже действий позволяет настроить Windows Vista для активации TCP.
После установки и настройки WAS в Windows Vista см. описание процедуры создания службы WCF, которая предоставляет конечную точку, работающую по отличному от HTTP протоколу и использующую WAS, в разделе Как разместить службу WCF в WAS.
Установка компонентов активации WCF, работающих по отличному от HTTP протоколу
Нажмите кнопку Пуск и выберите пункт Панель управления.
Выберите Программы, а затем щелкните Программы и компоненты.
В меню Задачи щелкните команду Включение или отключение компонентов Windows.
Найдите узел Платформа .NET Framework 3.0, затем выберите и разверните его.
Установите флажок в поле Компоненты активации WCF, работающие по отличному от Http протоколу и сохраните параметр.
Настройка WAS на поддержку протокола TCP
Веб-узел по умолчанию может поддерживать активацию по net.tcp только в том случае, если он изначально был привязан к порту net.tcp. Сделать это позволяет файл Appcmd.exe, который устанавливается с помощью набора инструментов управления IIS 7.0. В окне командной строки с правами администратора выполните следующую команду.
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']
Примечание Эта команда представляет собой одну строку текста. Она добавляет привязку узла к протоколу net.tcp в веб-узел по умолчанию, ожидающему передачи данных по протоколу TCP на порту 808 с любым именем узла. Несмотря на то что все приложения в узле имеют общую привязку к протоколу net.tcp, включать поддержку net.tcp можно для каждого приложения отдельно. Для включения протокола net.tcp для данного приложения необходимо выполнить следующую команду из командной строки с правами администратора.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:http,net.tcp
Примечание Эта команда представляет собой одну строку текста. Она позволяет осуществлять доступ к /<приложению WCF> по адресу https://localhost/<Приложение WCF> или net.tcp://localhost/<Приложение WCF>. Удалите привязку узла к протоколу net.tcp, добавленную ранее для данного образца.
Для удобства два нижеописанных действия выполняются в пакетом файле RemoveNetTcpSiteBinding.cmd, расположенном в каталоге с образцами.
Удалите протокол net.tcp из списка разрешенных протоколов, выполнив следующую команду в окне командной строки с правами администратора.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Примечание Эта команда представляет собой одну строку текста. Удалите привязку узла к протоколу net.tcp, выполнив следующую команду в окне командной строки с повышенными привилегиями:
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" --bindings.[protocol='net.tcp',bindingInformation='808:*']
Примечание Эта команда представляет собой одну строку текста.
Удаление протокола net.tcp из списка разрешенных протоколов
Для того чтобы удалить протокол net.tcp из списка разрешенных протоколов, необходимо выполнить следующую команду в окне командной строки с правами администратора.
%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
Примечание Эта команда представляет собой одну строку текста.
Удаление привязки узла к протоколу net.tcp
Для того чтобы удалить привязку узла к протоколу net.tcp, необходимо выполнить следующую команду в окне командной строки с правами администратора:
%windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -bindings.[protocol='net.tcp',bindingInformation='808:*']
Примечание Эта команда представляет собой одну строку текста.
См. также
Задачи
Активация TCP
Активация MSMQ
Активация NamedPipe