Поделиться через


Активация на основе конфигурации в IIS и WAS

Обычно при размещении службы Windows Communication Foundation (WCF) в службы IIS (IIS) или службе активации процесса Windows (WAS) необходимо предоставить SVC-файл. SVC-файл содержит имя службы, а также дополнительную пользовательскую фабрику узла службы. С помощью этого дополнительного файла добавляются служебные данные по управлению. Возможность активации на основе конфигурации снимает требование по наличию SVC-файла и, следовательно, по наличию связанных служебных данных.

Активация на основе конфигурации

Активация на основе конфигурации принимает метаданные, которые используются для размещения в SVC-файле, и помещает их в файл Web.config. <serviceHostingEnvironment> В элементе есть <serviceActivations> элемент. В элементе <serviceActivations> находятся один или несколько <add> элементов для каждой размещенной службы. Элемент <add> содержит атрибуты, позволяющие задать относительный адрес службы и тип службы или фабрику узлов службы. В следующем примере конфигурации показано, каким образом используется этот раздел.

Примечание.

Каждый <add> элемент должен указывать службу или атрибут фабрики. Можно указать и атрибут службы, и атрибут фабрики.

<serviceHostingEnvironment>
  <serviceActivations>
    <add relativeAddress="MyServiceAddress" service="Service" factory="MyServiceHostFactory"/>
  </serviceActivations>
</serviceHostingEnvironment>

Такой код, показанный в файле Web.config, позволяет поместить исходный код службы в каталог App_Code приложения или откомпилированную сборку в каталог Bin приложения.

Примечание.

  • При использовании активации на основе конфигурации, встроенный программный код в SVC-файлах не поддерживается.
  • Атрибут relativeAddress должен иметь относительный адрес,< например sub-directory/service.svc или ~/<sub-directory>/service.svc.
  • Если зарегистрирован относительный адрес, который не содержит известного расширения имени, связанного с WCF, то будет создано исключение конфигурации.
  • Относительный адрес указывается относительно корневого каталога виртуального приложения.
  • Поскольку модель конфигурации имеет иерархическую структуру, относительный адрес, который зарегистрирован на уровне компьютера и узла, наследуется виртуальными приложениями.
  • Регистрация в файле конфигурации имеет более высокий приоритет, чем параметры в SVC-файле, XAMLX-файле, XOML-файле и других файлах.
  • Все символы обратной косой черты «\» в URI, отправляемых в IIS/WAS, автоматически преобразуются в символы косой черты «/». Если добавляемый относительный адрес содержит символ «\», а в IIS отправлен URI, который использует относительный адрес, то символ обратной косой черты преобразуется в символ косой черты и IIS не может сопоставить его с относительным адресом. Службы IIS отправляют сведения трассировки, которые указывают, что соответствие не найдено.

См. также