<comContract>

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

<configuration>
  <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>

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

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

Attributes

Свойство Description
контракт Строка, содержащая тип контракта.
имя Строка, содержащая имя контракта.
namespace Строка, содержащая пространство имен контракта.
требуетсяSession Логическое значение, указывающее, можно ли использовать контракт только в сеансовых привязках. При инициализации службы среда выполнения интеграции гарантирует, что этот параметр соответствует типу используемой привязки. Исключение создается, если одна или несколько привязок контракта конфликтуют. Если это свойство falseимеет значение, а односторонняя канал используется и есть какие-либо параметры [out], создается исключение.

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

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

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

Элемент Description
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>

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

См. также