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


<system.serviceModel>

Данный раздел конфигурации содержит все элементы конфигурации ServiceModel для Windows Communication Foundation (WCF).

Синтаксис

<system.serviceModel>
    <behaviors>
    </behaviors>
    <bindings>
    </bindings>
    <client>
    </client>
    <comContracts>
    </comContracts>
    <commonBehaviors>
    </commonBehaviors>
    <diagnostics>
    </diagnostics>
    <extensions>
    </extensions>    <protocolMapping>    </protocolMapping>    <routing>    </routing>
    <serviceHostingEnvironment>
    </serviceHostingEnvironment>
    <services>
    </services>    <standardEndpoints>
    </standardEndpoints>
</system.serviceModel>

Атрибуты и элементы

В следующих разделах описываются атрибуты, дочерние и родительские элементы.

Атрибуты

Нет

Дочерние элементы

Элемент Описание

<варианты поведения>

Данный раздел определяет две дочерние коллекции с именами endpointBehaviors и serviceBehaviors. Каждая коллекция определяет элементы поведений, используемые конечными точками и службами соответственно. Каждый элемент поведения идентифицируется по уникальному атрибуту name.

<bindings>

В этом разделе содержится коллекция стандартных и пользовательских привязок. Каждая запись идентифицируется по уникальному свойству name. Службы используют привязки, связывая их с помощью параметра name.

<client>

Данный раздел содержит список конечных точек, которые клиент использует для подключения к службе.

<comContracts>

В данном разделе определяются контракты COM, которые разрешены для обеспечения взаимодействия WCF и COM.

<commonBehaviors>

Этот раздел может быть определен только в файле machine.config. В нем определяются две дочерние коллекции с именами endpointBehaviors и serviceBehaviors. Каждая коллекция определяет элементы поведения, используемые соответственно всеми конечными точками WCF и службами на компьютере. Если поведение определено как в разделе <commonBehaviors><behaviors>, так и в разделе <>, то преимущество получает поведение из раздела behaviors.

Раздел <extensions>

Данный раздел содержит коллекцию расширений, которые позволяют пользователю создавать определяемые пользователем привязки, поведения и другие виды расширений.

<diagnostics>

В этом разделе содержатся параметры функций диагностики WCF. Пользователь может включить или отключить трассировку, счетчики производительности и провайдер инструментария WMI, а также может добавлять специальные фильтры сообщений.

<protocolMapping>

Это раздел определяет набор сопоставления протоколов по умолчанию между схемами транспортных протоколов (например, http, net.tcp, net.pipe и т. д.) и привязками WCF.

<routing>

Этот раздел определяет набор фильтров маршрутизации, которые определяют тип Windows Communication Foundation (WCF) MessageFilter, используемый при оценке входящих сообщений, а также таблиц маршрутизации, которые определяют целевые конечные точки для отправки сообщений (в случае если фильтр срабатывает).

<serviceHostingEnvironment>

Этот раздел определяет тип, который среда размещения служб создает для определенного транспорта. Если данный раздел пуст, то используется тип, заданный по умолчанию.

<services>

Раздел содержит коллекцию служб. Для каждой службы, определенной в сборке, данный элемент содержит элемент service, который задает параметры для данной службы.

<standardEndpoints>

В этом разделе определяется коллекция конечных точек, которые являются пригодными для многократного использования стандартными конечными точками. Значение одного или нескольких атрибутов стандартной конечной точки, обозначающих адрес, привязку или контракт, является фиксированным. Например, в конечной точке обнаружения фиксированным является контракт. По аналогии с определением пользовательских привязок можно также использовать стандартные конечные точки для расширения конечной точки службы за счет новых свойств.

Родительские элементы

Элемент Описание

<конфигурация>

Корневой элемент для всех элементов конфигурации в файле конфигурации .NET.

Замечания

WCF не добавляет элементы к разделам конфигурации других продуктов.

Службы WCF определяются в разделе services файла конфигурации. Сборка может содержать любое число служб. Для каждой службы используется собственный раздел конфигурации service. Этот раздел и его содержимое определяют контракт, поведение и конечные точки конкретной службы.

Обязательным является только атрибут name. По умолчанию имя службы описывает базовый тип CLR, который используется для реализации службы, однако можно изменить свойство ConfigurationName в классе ServiceContractAttribute, чтобы изменить требования к типу CLR.

Атрибут behaviorConfiguration является необязательным. Он указывает поведение, используемое службой. Поведение, которое определяется данным атрибутом, должно быть связано с поведением службы, которое определяется в области того же файла конфигурации (то есть в том же файле или в родительском файле).

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

Привязки связаны с конечными точками через сочетание атрибутов name и bindingConfiguration. Атрибут binding указывает, в каком разделе определяется привязка. Атрибут bindingConfiguration указывает, какая из настроенных привязок используется в разделе привязки. В разделе привязки может определяться несколько настроенных привязок.

Пример

Ниже приведен пример файла конфигурации WCF.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.serviceModel>
        <behaviors>
           <!-- List of Behaviors -->
        </behaviors>
        <client>
           <!-- List of Endpoints -->
        </client>
        <diagnostics wmiProviderEnabled="false" performanceCountersEnabled="false" tracingEnabled="false">
        </diagnostics>
        <serviceHostingEnvironment>
           <!-- List of entries -->
        </serviceHostingEnvironment>
        <comContracts>
           <!-- List of COM+ Contracts -->
        </comContracts>        
        <services>
           <!-- List of Services -->
        </services>
        <bindings>
           <!-- List of Bindings -->
        </bindings>
    </system.serviceModel>
</configuration>

См. также

Справочник

ServiceModelSectionGroup