<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+ 组件上的接口作为 Web 服务公开时所公开的 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