<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
Основные понятия
Другие ресурсы
Integrating with COM+ Applications
How to: Configure COM+ Service Settings