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

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

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

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

Ee358764.note(ru-ru,VS.100).gifПримечание
Все элементы <add> должны указывать атрибут службы или фабрики. Можно указать и атрибут службы, и атрибут фабрики.

    <serviceHostingEnvironment>
      <serviceActivations>
        <add relativeAddress="service.svc" service="Service" factory=”MyServiceHostFactory”/>
      </serviceActivations>
    </serviceHostingEnvironment>

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

Ee358764.note(ru-ru,VS.100).gifПримечание
  • Атрибуту relativeAddress должен быть присвоен относительный адрес, например "<sub-directory>/service.svc" или "~/<sub-directory/service.svc".

  • Если зарегистрирован относительный адрес, который не содержит известного расширения имени, связанного с WCF, то будет создано исключение конфигурации.

  • Относительный адрес указывается относительно корневого каталога виртуального приложения.

  • Поскольку модель конфигурации имеет иерархическую структуру, относительный адрес, который зарегистрирован на уровне компьютера и узла, наследуется виртуальными приложениями.

  • Регистрация в файле конфигурации имеет более высокий приоритет, чем параметры в SVC-файле, XAMLX-файле, XOML-файле и других файлах.

  • Все символы обратной косой черты «\» в URI, отправляемых в IIS/WAS, автоматически преобразуются в символы косой черты «/». Если добавляемый относительный адрес содержит символ «\», а в IIS отправлен URI, который использует относительный адрес, то символ обратной косой черты преобразуется в символ косой черты и IIS не может сопоставить его с относительным адресом. Службы IIS отправляют сведения трассировки, которые указывают, что соответствие не найдено.

См. также

Справочник

ServiceActivations

Основные понятия

Размещение служб

Другие ресурсы

Размещение службы рабочего процесса
<serviceHostingEnvironment>