<comContract>

Указывает контракт службы интеграции COM+.

<Конфигурации>
  <system.serviceModel>
    <comContracts>
      <comContract>

Синтаксис

<comContracts>
  <comContract contract="String"
               namespace="String"
               name="String"
               requireSession="Boolean">
    <exposedMethods>
      <exposedMethod name="String" />
    </exposedMethods>
    <userDefinedTypes>
      <userDefinedType name="String"
                       typeLibID="String"
                       typeLibVersion="String"
                       typeDefID="String">
      </userDefinedType>
    </userDefinedTypes>
    <persistableTypes>
      <persistableType id="String"
                       name="String">
      </persistableType>
    </persistableTypes>
  </comContract>
</comContracts>

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

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

Атрибуты

Атрибут Описание
contract Строка, содержащая тип контракта.
name Строка, содержащая имя контракта.
пространство имен Строка, содержащая пространство имен контракта.
requiresSession Логическое значение, указывающее, ограничено ли использование контракта только сеансовыми привязками. При инициализации службы среда выполнения интеграции обеспечивает согласованность этого параметра с типом используемой привязки. В случае конфликта одной или нескольких привязок для контракта создается исключение. Если это свойство имеет значение false, то при использовании одностороннего канала и наличии параметров [out] также создается исключение.

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

Элемент Описание
persistableTypes Все сохраняемые типы.
userDefinedTypes Коллекция пользовательских типов (UDT), подлежащая включению в контракт службы.
exposedMethods Коллекция методов COM+, которые предоставляются при предоставлении интерфейса компонента COM+ как веб-службы.

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

Элемент Описание
comContracts Содержит коллекцию элементов comContract.

Комментарии

Контракты службы интеграции COM+ в настоящее время ограничены пространством http://tempuri.org имен, а имя контракта является производным от поддерживающего COM-интерфейса. Однако можно указать альтернативы, используя раздел comContracts, а также элемент comContract в файле конфигурации. Например, для указания пространства имен, имени контракта и подлежащих включению пользовательских типов, а также других параметров контракта службы можно использовать следующую конфигурацию.

<comContracts>
  <comContract contract="{5163B1E7-F0CF-4B6A-9A02-4AB654F34284}"
               namespace="http://tempuri.org/5163B1E7-F0CF-4B6A-9A02-4AB654F34284"
               name="_Broker"
               requireSession="true">
    <exposedMethods>
      <exposedMethod name="BuyStock" />
      <exposedMethod name="SellStock" />
      <exposedMethod name="ExecuteTransaction" />
    </exposedMethods>
  </comContract>
</comContracts>

После инициализации службы указанные пространства имен и имена контрактов применяются к созданным описаниям служб.

См. также раздел