Меню

настройка iis для wcf

Настройка IIS 7.0 для Windows Communication Foundation Configuring Internet Information Services 7.0 for Windows Communication Foundation

Службы IIS 7.0 имеют модульную архитектуру, что позволяет выборочно устанавливать необходимые компоненты. Internet Information Services (IIS) 7.0 has a modular design that allows you to selectively install components that are required. Эта схема основана на новой технологии, управляемой манифестом, которая появилась в Windows Vista. This design is based on the new manifest-driven componentization technology introduced in Windows Vista. Существует более 40 отдельных компонентов служб IIS 7,0, которые могут быть установлены независимо. There are more than 40 standalone feature components of IIS 7.0 that can be installed independently. Это позволяет ИТ-специалистам легко настраивать службы в соответствии с конкретными требованиями. This allows IT professionals to easily customize the installation as required. В этом разделе описано, как настроить IIS 7,0 для использования с Windows Communication Foundation (WCF) и определить, какие компоненты требуются. This topic discusses how to configure IIS 7.0 for use with Windows Communication Foundation (WCF) and determine which components are required.

Минимальная установка: установка службы WAS Minimal Installation: Installing WAS

Минимальная установка всего пакета IIS 7,0 заключается в установке службы активации процессов Windows (WAS). The minimal installation of the whole IIS 7.0 package is to install the Windows Process Activation Service (WAS). WAS — это автономная функция, которая является единственной функцией IIS 7,0, доступной для всех операционных систем Windows Vista (Домашняя базовая, Домашняя расширенная, Business, максимальная и корпоративная). WAS is a standalone feature and it is the only feature from the IIS 7.0 that is available for all Windows Vista operating systems (Home Basic, Home Premium, Business, and Ultimate and Enterprise).

На панели управления щелкните программы , а затем — Включение или отключение компонентов Windows , которые перечислены в разделе программы и компоненты, компонент WAS показан в списке, как показано на следующем рисунке. From the Control Panel, click Programs and then click Turn Windows features on or off which is listed under Programs and Features, the WAS component is shown in the list as in the following illustration.

Этот компонент включает следующие подкомпоненты: This feature has the following sub-components:

Среда .NET Environment .NET Environment

Интерфейсы API настройки Configuration APIs

модель процесса; Process Model

Если выбран корневой узел WAS, по умолчанию проверяется только вложенный узел модели процесса . If you select the root node of WAS, only the Process Model sub-node is checked by default. Обратите внимание, что при такой установке устанавливается только служба WAS, поскольку поддержка веб-сервера отсутствует. Please note that with this installation you are only installing WAS, because there is no support for a Web server.

Чтобы сделать WCF или любое приложение ASP.NET работать, установите флажок среда .NET . To make WCF or any ASP.NET application work, check the .NET Environment checkbox. Это означает, что все компоненты WAS необходимы для того, чтобы обеспечить хорошую работу WCF и ASP.NET. This means that all of WAS components are required to make WCF and ASP.NET to work well. Они автоматически выбираются при установке какого либо из этих компонентов. These are automatically checked once you install any of those components.

Службы IIS 7.0: установка по умолчанию IIS 7.0: Default Installation

После проверки функции службы IIS некоторые из подузлов автоматически проверяются, как показано на следующем рисунке. By checking the Internet Information Services feature, some of the sub-nodes are automatically checked as shown in the following illustration.

источник

Развертывание службы WCF, размещенной в IIS Deploying an Internet Information Services-Hosted WCF Service

Разработка и развертывание службы Windows Communication Foundation (WCF), размещенной в информационных службах Интернета (IIS), состоит из следующих задач: Developing and deploying a Windows Communication Foundation (WCF) service that is hosted in Internet Information Services (IIS) consists of the following tasks:

Убедитесь, что IIS, ASP.NET, WCF и компонент активации WCF правильно установлены и зарегистрированы. Ensure that IIS, ASP.NET, WCF, and the WCF activation component are correctly installed and registered.

Создайте новое приложение IIS или повторно используйте существующее ASP.NET приложение. Create a new IIS application, or reuse an existing ASP.NET application.

Создайте файл .svc для службы WCF. Create a .svc file for the WCF service.

Развертывание реализации службы в приложение IIS. Deploy the service implementation to the IIS application.

Настройте службу WCF. Configure the WCF service.

Подробную информацию о создании сервиса WCF, размещенного на IIS, можно узнать: «Хозяйничать wCF Service в IIS. For a detailed walkthrough of creating an IIS-hosted WCF service, see How to: Host a WCF Service in IIS.

Проверка правильности установки и регистрации IIS, ASP.NET и WCF Ensure That IIS, ASP.NET and WCF Are Correctly Installed and Registered

WCF, IIS и ASP.NET должны быть установлены для того, чтобы службы WCF, размещенные на IIS, функционировали правильно. WCF, IIS, and ASP.NET must be installed for IIS-hosted WCF services to function correctly. Процедуры установки WCF (в рамках системы .NET), ASP.NET и IIS варьируются в зависимости от операционной системы. The procedures for installing WCF (as part of the .NET Framework), ASP.NET, and IIS vary depending on your operating system. Для получения дополнительной информации об установке WCF и рамочной системы .NET см. For more information about installing WCF and the .NET Framework, see Install the .NET Framework for developers. Для установки IIS на Windows 10, откройте программы и функции в панели управления, а затем выберите включить или выключить функции Windows. To install IIS on Windows 10, open Programs and Features in Control Panel and then select Turn Windows features on or off. В функциях Windowsвыберите информационные службы Интернета, а затем выберите OK. In Windows Features, select Internet Information Services and then choose OK.

Читайте также:  lenovo vibe x2 настройка gps

Инструкции по установке IIS на другие операционные системы можно найти на Install IIS на Windows Vista и Windows 7 и установить IIS 8.5 на Windows Server 2012 R2. Instructions for installing IIS on other operating systems can be found at Install IIS on Windows Vista and Windows 7 and Install IIS 8.5 on Windows Server 2012 R2.

Процесс установки для .NET Framework автоматически регистрирует WCF с IIS, если IIS уже присутствует на машине. The installation process for .NET Framework automatically registers WCF with IIS if IIS is already present on the machine. Если IIS установлен после рамочного соглашения .NET, требуется дополнительный шаг для регистрации WCF в IIS и ASP.NET. If IIS is installed after the .NET Framework, an additional step is required to register WCF with IIS and ASP.NET. Это можно выполнить указанным ниже способом в зависимости от операционной системы. You can do this as follows, depending on your operating system:

Windows 7 и Windows Server 2003: Используйте инструмент регистрации ServiceModel (ServiceModelReg.exe) для регистрации WCF с IIS. Windows 7 and Windows Server 2003: Use the ServiceModel Registration Tool (ServiceModelReg.exe) tool to register WCF with IIS. Чтобы использовать этот инструмент, введите ServiceModelReg.exe /i /x в командном запросе разработчика для Visual Studio. To use this tool, type ServiceModelReg.exe /i /x in the Developer Command Prompt for Visual Studio.

Windows 7: Наконец, вы должны убедиться, что ASP.NET настроен айодионизм для использования версии .NET Framework 4 или позже. Windows 7: Finally, you must verify that ASP.NET is configured to use the .NET Framework version 4 or later. Вы делаете это, запустив ASPNET_Regiis инструмент с опцией. –i You do this by running the ASPNET_Regiis tool with the –i option. Для получения дополнительной информации см ASP.NET. For more information, see ASP.NET IIS Registration Tool.

Создание нового приложения служб IIS или повторное использование существующего приложения ASP.NET Create a New IIS Application or Reuse an Existing ASP.NET Application

Службы WCF, размещенные на IIS, должны находиться внутри приложения IIS. IIS-hosted WCF services must reside inside of an IIS application. Можно создать новое приложение IIS для размещения исключительно wCF-сервисов. You can create a new IIS application to host WCF services exclusively. Кроме того, можно развернуть службу WCF в существующее приложение, которое уже размещает ASP.NET контента 2.0 (например, страницы .aspx и ASP.NET web-сервисов (ASMX). Alternatively, you can deploy an WCF service into an existing application that is already hosting ASP.NET 2.0 content (such as .aspx pages and ASP.NET Web services [ASMX]). Для получения дополнительной информации об этих вариантах, см» Хостинг WCF бок о бок с ASP.NET» и «Хостинг WCF Услуги в режиме ASP.NET совместимости» разделы в WCF Услуги и ASP.NET. For more information about these options, see the «Hosting WCF Side-by-Side with ASP.NET» and «Hosting WCF Services in ASP.NET Compatibility Mode» sections in WCF Services and ASP.NET.

Обратите внимание, что IIS 6.0 и более поздние версии периодически перезапускаются изолированным объектно-ориентированным приложением программирования. Note that IIS 6.0 and later versions periodically restart an isolated object-oriented programming application. Значение по умолчанию — 1740 минут. The default value is 1740 minutes. Максимальное поддерживаемое значение — 71582 минуты. The maximum value supported is 71,582 minutes. Этот перезапуск можно отключить. This restart can be disabled. Для получения дополнительной информации об этом свойстве, см. For more information about this property, see the PeriodicRestartTime.

Создание SVC-файла для службы WCF Create an .svc File for the WCF Service

Службы WCF, размещенные в IIS, представлены в виде специальных файлов содержимого (.svc) внутри приложения IIS. WCF services hosted in IIS are represented as special content files (.svc files) inside the IIS application. Эта модель подобна модели, согласно которой страницы ASMX представляются внутри приложения IIS в виде ASMX-файлов. This model is similar to the way ASMX pages are represented inside of an IIS application as .asmx files. Файл .svc содержит директиву по обработке wCF@(ServiceHost),которая позволяет инфраструктуре хостинга WCF активировать размещенные службы в ответ на входящие сообщения. A .svc file contains a WCF-specific processing directive (@ServiceHost) that allows the WCF hosting infrastructure to activate hosted services in response to incoming messages. В приведенном ниже операторе показан наиболее распространенный синтаксис SVC-файла. The most common syntax for a .svc file is in the following statement.

Читайте также:  cuda equihash miner настройка

Она состоит из директивы Service @ServiceHost и одного атрибута. It consists of the @ServiceHost directive and a single attribute, Service . Значение атрибута Service — имя типа среды CLR реализации службы. The value of the Service attribute is the common language runtime (CLR) type name of the service implementation. Использование этой директивы по существу эквивалентно созданию основного приложения службы с помощью следующего кода. Using this directive is basically equivalent to creating a service host using the following code.

Можно также создать дополнительную конфигурацию размещения, например список базовых адресов службы. Additional hosting configuration, such as creating a list of base addresses for the service can also be done. Кроме того, можно применить пользовательскую фабрику ServiceHostFactory , чтобы расширить директиву для использования с пользовательскими решениями по размещению. You can also use a custom ServiceHostFactory to extend the directive for use with custom hosting solutions. Приложения IIS, принимающие службы WCF, не отвечают за управление созданием и сроком службы ServiceHost экземпляров. The IIS applications that host WCF services are not responsible for managing the creation and lifetime of ServiceHost instances. Управляемая инфраструктура хостинга ServiceHost WCF создает необходимый экземпляр динамически при получении первого запроса для файла .svc. The managed WCF hosting infrastructure creates the necessary ServiceHost instance dynamically when the first request is received for the .svc file. Этот экземпляр не освобождается, пока он не будет явно закрыт кодом или не перезапустится приложение. The instance is not released until either it is closed explicitly by code or when the application is recycled.

Для получения дополнительной информации о синтаксисе для файлов .svc @см. For more information about the syntax for .svc files, see @ServiceHost.

Развертывание реализации службы в приложение IIS Deploy the Service Implementation to the IIS Application

Службы WCF, размещенные в IIS, используют ту же динамическую модель компиляции, что и ASP.NET 2.0. WCF services hosted in IIS use the same dynamic compilation model as ASP.NET 2.0. Так же, как и в ASP.NET, можно развернуть код реализации для служб WCF, размещенных на IIS, несколькими способами в различных местах: Just as with ASP.NET, you can deploy the implementation code for IIS-hosted WCF services in several ways at various locations, as follows:

В виде предкомпилированного DLL-файла, расположенного в глобальном кэше сборок или в каталоге \bin приложения. As a precompiled .dll file located in the global assembly cache (GAC) or in the application’s \bin directory. Предкомпилированные двоичные файлы не обновляются, пока не будет развернута новая версия библиотеки классов. Precompiled binaries are not updated until a new version of the class library is deployed.

Как некомпиляционные исходные файлы, расположенные в App_Code каталоге приложения. As uncompiled source files located in the application’s \App_Code directory. Исходные файлы, расположенные в этом каталоге, запрашиваются динамически при обработке первого запроса приложения. Source files located in this directory are dynamically required when processing the application’s first request. Любые изменения в файлах в каталоге \App_Code приводят к перезапуску и повторной компиляции всего приложения при получении следующего запроса. Any changes to files in the \App_Code directory cause the entire application to be recycled and recompiled when the next request is received.

Как некомпилированный код, помещенный непосредственно в файл .svc. As uncompiled code placed directly in the .svc file. Код реализации также может быть размещен в файле службы @.svc после директивы ServiceHost. Implementation code can also be located inline in the service’s .svc file, after the @ServiceHost directive. Любые изменения во встроенном коде приводят к перезапуску и повторной компиляции приложения при получении следующего запроса. Any changes to inline code cause the application to be recycled and recompiled when the next request is received.

Для получения дополнительной информации о модели компиляции ASP.NET 2.0 с ASP.NETм. For more information about the ASP.NET 2.0 compilation model, see ASP.NET Compilation Overview.

Настройка службы WCF Configure the WCF Service

Сервисы WCF, размещенные на IIS, хранят свою конфигурацию в файле web.config приложений. IIS-hosted WCF services store their configuration in the applications Web.config file. Службы, размещенные на IIS, используют те же элементы конфигурации и синтаксис, что и службы WCF, размещенные за пределами IIS. IIS-hosted services use the same configuration elements and syntax as WCF services hosted outside of IIS. Однако для среды размещения IIS присущи следующие ограничения. However, the following constraints are unique to the IIS hosting environment:

Читайте также:  ricoh aficio mp 2000 настройка сканера

Базовые адреса размещенных в IIS служб. Base addresses for IIS-hosted services.

Приложения, принимающие услуги WCF за пределами IIS, могут управлять базовым адресом ServiceHost услуг, которые они размещают, передавая конструктору набор базовых адресов или предоставляя в конфигурации службы. Applications hosting WCF services outside of IIS can control the base address of the services they host by passing a set of base address URIs to the ServiceHost constructor or by providing a element in the service’s configuration. Службы, размещенные в IIS, не могут управлять своими базовыми адресами; базовым адресом службы, размещенной в IIS, является адрес ее SVC-файла. Services hosted in IIS do not have the ability to control their base address; the base address of an IIS-hosted service is the address of its .svc file.

Адреса конечных точек для служб, размещенных в IIS Endpoint Addresses for IIS-Hosted Services

Будучи размещенными в IIS, адреса конечных точек всегда считаются относительными для адреса SVC-файла, представляющего службу. When hosted in IIS, endpoint addresses are always considered to be relative to the address of the .svc file that represents the service. Например, если базовый адрес службы http://localhost/Application1/MyService.svc WCF находится со следующей конфигурацией конечной точки: For example, if the base address of a WCF service is http://localhost/Application1/MyService.svc with the following endpoint configuration:

Это обеспечивает конечную точку, http://localhost/Application1/MyService.svc/anotherEndpoint которая может быть достигнута на . This provides an endpoint that can be reached at http://localhost/Application1/MyService.svc/anotherEndpoint .

Аналогичным образом, элемент конфигурации конечных точек, который использует пустую http://localhost/Application1/MyService.svc строку, как относительный адрес обеспечивает конечную точку, достижимую в, который является базовым адресом. Similarly, the endpoint configuration element that uses an empty string as the relative address provides an endpoint reachable at http://localhost/Application1/MyService.svc , which is the base address.

Для конечных точек служб, размещенных в IIS, следует всегда использовать относительные адреса. You must always use relative endpoint addresses for IIS-hosted service endpoints. Предоставление полностью квалифицированного адреса конечной http://localhost/MyService.svc точки (например, может привести к ошибкам в развертывании службы, если адрес конечной точки не указывает на IIS-приложение, в котором размещается служба, раскрывающая конечную точку. Supplying a fully-qualified endpoint address (for example, http://localhost/MyService.svc ) can lead to errors in the deployment of the service if the endpoint address does not point to the IIS-application that hosts the service exposing the endpoint. Использование относительных адресов конечных точек для размещенных служб позволяет избежать таких потенциальных конфликтов. Using relative endpoint addresses for hosted services avoids these potential conflicts.

Доступные типы транспорта Available Transports

Услуги WCF, размещенные в IIS 5.1 и IIS 6.0, ограничены использованием http-коммуникаций. WCF services hosted in IIS 5.1 and IIS 6.0 are restricted to using HTTP-based communication. В этих платформах IIS настройка размещенной службы на использование привязки, отличной от HTTP, приводит к ошибке во время активации службы. On these IIS platforms, configuring a hosted service to use a non-HTTP binding results in an error during service activation. Для IIS 7.0 поддерживаемые перевозки включают HTTP, Net.TCP, Net.Pipe, Net.MSM и msmq.formatname для обратной совместимости с существующими приложениями МСМЗ. For IIS 7.0, the supported transports include HTTP, Net.TCP, Net.Pipe, Net.MSMQ, and msmq.formatname for backwards compatibility with existing MSMQ applications.

Безопасность транспорта HTTP HTTP Transport Security

Службы WCF, размещенные на IIS, могут использовать системы безопасности переноса HTTP (например, схемы проверки подлинности HTTPS и HTTP, такие как Basic, Digest и Windows Integrated Authentication) до тех пор, пока виртуальный каталог IIS, содержащий эти настройки, поддерживает эти параметры. IIS-hosted WCF services can make use of HTTP transport security (for example, HTTPS and HTTP authentication schemes such as Basic, Digest, and Windows Integrated Authentication) as long as the IIS virtual directory that contains the service supports those settings. Параметры безопасности транспорта HTTP в привязке размещенной конечной точки должны соответствовать параметрам безопасности транспорта в виртуальном каталоге IIS, который содержит эту привязку. The HTTP Transport Security settings on a hosted endpoint’s binding must match the transport security settings on the IIS virtual directory that contains it.

Например, конечная точка WCF, настроенная для использования аутентификации дайджеста HTTP, должна находиться в виртуальном каталоге IIS, который также настроен таким образом, чтобы позволить authentication дайджеста http. For example, a WCF endpoint configured to use HTTP digest authentication must reside in an IIS virtual directory that is also configured to allow HTTP digest authentication. Непревзойденные комбинации настроек IIS и параметров конечной точки WCF приводят к ошибке при активации службы. Unmatched combinations of IIS settings and WCF endpoint settings result in an error during service activation.

источник