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


<comContract>

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

Иерархия схемы

<system.serviceModel>
  <comContracts>

Синтаксис

<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

Строка, содержащая имя контракта.

namespace

Строка, содержащая пространство имен контракта.

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>

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

См. также

Справочник

ComContractElementCollection
ComContractElementCollection
ComContractElement

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

<comContracts>

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

Integrating with COM+ Applications
How to: Configure COM+ Service Settings