Настройка службы активации процессов Windows для использования с Windows Communication Foundation Configuring the Windows Process Activation Service for Use with Windows Communication Foundation
В этом разделе описываются шаги, необходимые для настройки службы активации Windows (также известной как WAS) в Windows Vista для размещения служб Windows Communication Foundation (WCF), не передающих сетевые протоколы HTTP. This topic describes the steps required to set up Windows Process Activation Service (also known as WAS) in Windows Vista to host Windows Communication Foundation (WCF) services that do not communicate over HTTP network protocols. Настройка предполагает следующие шаги. The following sections outline the steps for this configuration:
Установите (или подтвердите установку) необходимые компоненты активации WCF. Install (or confirm the installation of) the WCF activation components required.
Создайте узел WAS с привязками сетевых протоколов, которые планируется использовать, или добавьте новую привязку протокола в существующий узел. Create a WAS site with the network protocol bindings you wish to use, or add a new protocol binding to an existing site.
Создайте приложение для размещения служб и разрешите этому приложению использовать требуемые сетевые протоколы. Create an application to host your services and enable that application to use the required network protocols.
Создайте службу WCF, которая предоставляет конечную точку, отличную от HTTP. Build a WCF service that exposes a non-HTTP endpoint.
Настройка узла с привязками протоколов, отличных от HTTP Configuring a Site with Non-HTTP bindings
Для использования в сочетании со службой WAS привязки к протоколу, отличному от HTTP, необходимо добавить привязку узла в конфигурацию WAS. To use a non-HTTP binding with WAS, the site binding must be added to the WAS configuration. Хранилищем конфигурации для службы WAS является файл applicationHost.config, находящийся в каталоге %windir%\system32\inetsrv\config. The configuration store for WAS is the applicationHost.config file, located in the %windir%\system32\inetsrv\config directory. Это хранилище конфигурации используется и службой WAS, и службами IIS 7.0. This configuration store is shared by both WAS and IIS 7.0.
applicationHost.config представляет собой текстовый XML-файл, который можно открыть в любом стандартном текстовом редакторе, таком как Блокнот. applicationHost.config is an XML text file that can be opened with any standard text editor (such as Notepad). Однако предпочтительным способом добавления привязок сайта, отличных от HTTP, является средство настройки командной строки IIS 7,0 (appcmd.exe). However, the IIS 7.0 command-line configuration tool (appcmd.exe) is the preferred way to add non-HTTP site bindings.
Следующая команда добавляет в веб-узел по умолчанию привязку узла к протоколу net.tcp с помощью команды appcmd.exe (вводится как одна строка). The following command adds a net.tcp site binding to the default Web site using appcmd.exe (this command is entered as a single line).
Эта команда добавляет новую привязку net.tcp в веб-узел по умолчанию путем добавления приведенной ниже строки в файл applicationHost.config. This command adds the new net.tcp binding to the default Web site by adding the line indicated below to the applicationHost.config file.
Разрешение приложению использовать протоколы, отличные от HTTP Enabling an Application to Use Non-HTTP Protocols
Вы можете включить или отключить отдельную сеть, протоколсат уровень приложения. You can enable or disable individual network protocolsat the application level. Следующая команда иллюстрирует включение и протокола HTTP, и протокола net.tcp для приложения, выполняющегося на сайте Default Web Site . The following command illustrates how to enable both the HTTP and net.tcp protocols for an application that runs in the Default Web Site .
Следующий XML-код из файла applicationHost.config иллюстрирует сайт, привязанный и к протоколу HTTP, и к протоколу, отличному от HTTP. The following XML code from applicationHost.config illustrates a site bound to both HTTP and non-HTTP protocols. Дополнительная конфигурация, необходимая для поддержки отличных от HTTP протоколов, выделена комментариями. The additional configuration required to support non-HTTP protocols is called out with comments.
При попытке запустить службу с помощью WAS для активации по протоколу, отличному от HTTP, когда службы WAS не установлены и не настроены, может появиться сообщение об ошибке: If you attempt to activate a service using WAS for Non-HTTP activation and you have not installed and configured WAS you may see the following error:
Если появилось это сообщение об ошибке, убедитесь, что установлены и правильно настроены службы WAS для активации по протоколу, отличному от HTTP. If you see this error ensure WAS for Non-HTTP Activation is installed and configured properly. Дополнительные сведения см. в разделе инструкции. Установка и настройка компонентов активации WCF. For more information, see How to: Install and Configure WCF Activation Components.
Построение службы WCF, использующей WAS для активации по протоколу, отличному от HTTP Building a WCF Service That Uses WAS for Non-HTTP activation
После выполнения действий по установке и настройке WAS (см. раздел как установить и настроить компоненты активации WCF) Настройка службы для использования была выполнена для активации аналогично настройке службы, размещенной в службах IIS. Once you perform the steps to install and configure WAS (see How to: Install and Configure WCF Activation Components), configuring a service to use WAS for activation is similar to configuring a service that is hosted in IIS.
Подробные инструкции по созданию активированной службы WCF см. в разделе как разместить службу WCF в WAS. For detailed instructions about building a WAS-activated WCF service, see How to: Host a WCF Service in WAS.
Устранение неполадок при установке Troubleshoot setup issues
В этой статье описывается, как устранять неполадки при установке Windows Communication Foundation (WCF). This article describes how to troubleshoot Windows Communication Foundation (WCF) setup issues.
Некоторые разделы реестра Windows Communication Foundation невозможно восстановить с помощью операции восстановления MSI в .NET Framework 3.0 Some Windows Communication Foundation Registry Keys are not Repaired by Performing an MSI Repair Operation on the .NET Framework 3.0
Если удалить какие-либо разделы реестра из следующего списка: If you delete any of the following registry keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0
Ключи не создаются повторно, если вы запускаете восстановление с помощью установщика .NET Framework 3,0, запускаемого из программы установки и удаления программ на панели управления. The keys are not re-created if you run repair by using the .NET Framework 3.0 installer launched from the Add/Remove Programs applet in Control Panel. Чтобы правильно восстановить эти разделы, необходимо удалить платформу .NET Framework 3.0, а затем установить ее снова. To recreate these keys correctly, the user must uninstall and reinstall the .NET Framework 3.0.
Повреждение службы WMI блокирует установку поставщика WMI WMI Service Corruption Blocks Installation of the WMI provider
Повреждение службы WMI может заблокировать установку поставщика Windows Communication Foundation WMI при установке пакета .NET Framework 3,0. WMI Service Corruption may block the installation of the Windows Communication Foundation WMI provider when installing the .NET Framework 3.0 package. Во время установки Windows Communication Foundation Installer не удается зарегистрировать файл WCF . mof с помощью компонента mofcomp.exe . During installation, the Windows Communication Foundation installer is unable to register the WCF .mof file using the mofcomp.exe component. Ниже приведен список признаков возникновения такой ситуации. The following is a list of symptoms:
Установка .NET Framework 3.0 завершается успешно, но поставщик инструментария WMI для WCF не зарегистрирован. .NET Framework 3.0 installation completes successfully, but the WCF WMI provider is not registered.
В журнале событий приложения появляется запись об ошибке, связанной с проблемами при регистрации поставщика инструментария WMI для WCF или при запуске средства mofcomp.exe. An error event appears in the application event log that references problems registering the WMI provider for WCF, or running mofcomp.exe.
В файле журнала установки с именем dd_wcf_retCA* в каталоге %temp% пользователя содержатся сведения о том, что не удалось зарегистрировать поставщик инструментария WMI для WCF. The setup log file named dd_wcf_retCA* in the user’s %temp% directory contains references to failure to register the WCF WMI provider.
В журнале событий или в файле журнала трассировки установки может быть зарегистрировано исключение, например одно из приведенных ниже. An exception such as one the following may be listed in the event log or setup trace log file:
ServiceModelReg [11:09:59:046]: System.ApplicationException: Неожиданный результат 3, ожидается E:\WINDOWS\system32\wbem\mofcomp.exe с «E:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof» ServiceModelReg [11:09:59:046]: System.ApplicationException: Unexpected result 3 executing E:\WINDOWS\system32\wbem\mofcomp.exe with «E:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof»
ServiceModelReg [07:19:33:843]: System.TypeInitializationException: Инициализатор типа ‘System.Management.ManagementPath’ выдал исключение. ServiceModelReg [07:19:33:843]: System.TypeInitializationException: The type initializer for ‘System.Management.ManagementPath’ threw an exception. —> System. Runtime. InteropServices. COMException (0x80040154): не удалось получить фабрику класса COM для компонента с CLSID
ServiceModelReg [07:19:32:750]: System.IO.FileNotFoundException: Невозможно загрузить файл или сборку ‘C:\WINDOWS\system32\wbem\mofcomp.exe’ или один из зависимых от них компонентов. ServiceModelReg [07:19:32:750]: System.IO.FileNotFoundException: Could not load file or assembly ‘C:\WINDOWS\system32\wbem\mofcomp.exe’ or one of its dependencies. Системе не удается найти указанный файл. The system cannot find the file specified.
Имя файла: ‘C:\WINDOWS\system32\wbem\mofcomp.exe File name: ‘C:\WINDOWS\system32\wbem\mofcomp.exe
Чтобы решить описанную выше проблему, необходимо выполнить следующие действия. The following steps must be followed to resolve the problem described previously.
- Запустите служебная программа для диагностики WMI, чтобы восстановить службу WMI. Run the WMI Diagnosis Utility to repair the WMI service. Дополнительные сведения об использовании этого средства см. в разделе служебная программа для диагностики WMI. For more information about using this tool, see WMI Diagnosis Utility.
Восстановите установку .NET Framework 3,0 с помощью приложения Установка и удаление программ , расположенного в панели управления, или удалите или переустановите .NET Framework 3,0. Repair the .NET Framework 3.0 installation by using the Add/Remove Programs applet located in Control Panel, or uninstall/reinstall the .NET Framework 3.0.
Исправление .NET Framework 3,0 после установки .NET Framework 3,5 Repair .NET Framework 3.0 after .NET Framework 3.5 Installation
При восстановлении .NET Framework 3,0 после установки .NET Framework 3,5 элементы конфигурации, появившиеся .NET Framework 3,5 в machine.config , удаляются. If you do a repair of .NET Framework 3.0 after you installed .NET Framework 3.5, configuration elements introduced by .NET Framework 3.5 in machine.config are removed. Однако файл web.config остается неизменным. However, the web.config file remains intact. Чтобы решить эту проблему, восстановите .NET Framework 3,5 после этого через ARP или используйте средство регистрации службы рабочего процесса (WFServicesReg.exe) с /c параметром. The workaround is to repair .NET Framework 3.5 after this via ARP, or use the WorkFlow Service Registration Tool (WFServicesReg.exe) with the /c switch.
Средство регистрации служб рабочего процесса (WFServicesReg.exe) можно найти по адресу%windir%\Microsoft.NET\framework\v3.5\ или%WINDIR%\Microsoft.NET\framework64\v3.5. WorkFlow Service Registration Tool (WFServicesReg.exe) can be found at %windir%\Microsoft.NET\framework\v3.5\ or %windir%\Microsoft.NET\framework64\v3.5
Правильная настройка узла WCF/WF в службах IIS после установки .NET Framework 3.5 Configure IIS Properly for WCF/WF Webhost after Installing .NET Framework 3.5
Если при установке .NET Framework 3,5 не удается настроить дополнительные параметры конфигурации IIS, связанные с WCF, в журнал установки заносится ошибка и выполняется продолжение. When .NET Framework 3.5 installation fails to configure additional WCF-related IIS configuration settings, it logs an error in the installation log and continues. Все попытки запуска приложений WorkflowServices будут неудачными, поскольку отсутствуют обязательные параметры конфигурации. Any attempt to run WorkflowServices applications will fail, since the required configuration settings are missing. Например, не удастся загрузить службы правил или XOML. For example, loading xoml or rules service can fail.
Чтобы решить эту проблему, используйте средство регистрации службы рабочего процесса (WFServicesReg.exe) с /c параметром, чтобы правильно настроить карты сценариев IIS на компьютере. To workaround this problem, use the WorkFlow Service Registration Tool (WFServicesReg.exe) with the /c switch to properly configure IIS script maps on the machine. Средство регистрации служб рабочего процесса (WFServicesReg.exe) можно найти по адресу%windir%\Microsoft.NET\framework\v3.5\ или%WINDIR%\Microsoft.NET\framework64\v3.5. WorkFlow Service Registration Tool (WFServicesReg.exe) can be found at %windir%\Microsoft.NET\framework\v3.5\ or %windir%\Microsoft.NET\framework64\v3.5
Не удалось загрузить тип «System. ServiceModel. Activation. HttpModule» Could not load type ‘System.ServiceModel.Activation.HttpModule’
Не удалось загрузить тип «System. ServiceModel. Activation. HttpModule» из сборки «System. ServiceModel, версия 3.0.0.0, язык и региональные параметры = нейтральный, PublicKeyToken = b77a5c561934e089»» Could not load type ‘System.ServiceModel.Activation.HttpModule’ from assembly ‘System.ServiceModel, Version 3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’
Эта ошибка возникает, если установлена .NET Framework 4, а затем включена активация WCF HTTP. This error occurs if .NET Framework 4 is installed and then WCF HTTP Activation is enabled. Чтобы устранить эту проблему, выполните следующую команду в Командная строка разработчика для Visual Studio: To resolve the issue, run the following command from inside the Developer Command Prompt for Visual Studio: