<comContract>
指定 COM+ 整合服務合約。
<configuration>
<system.serviceModel>
<comContracts>
<comContract>
Syntax
<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>
屬性和項目
下列章節說明屬性、子元素和父元素。
屬性
屬性 | 描述 |
---|---|
合約 | 包含合約型別的字串。 |
NAME | 包含合約名稱的字串。 |
命名空間 | 包含合約命名空間的字串。 |
requiresSession | 布林值,指定合約是否只能用在工作階段繫結上。 當服務初始化時,整合執行階段會確保這個設定與要使用的繫結型別是一致的。 如果合約的一或多個繫結有衝突,便會產生例外狀況 (Exception)。 如果這個屬性是 false ,而且正在使用單向通道且存在任何 [out] 參數時,也會產生例外狀況。 |
子元素
元素 | 描述 |
---|---|
persistableTypes | 所有永久性型別。 |
userDefinedTypes | 要包含在服務合約中之使用者定義型別 (UDT) 的集合。 |
exposedMethods | COM+ 方法的集合,這些方法會在 COM+ 元件上的介面公開為 Web 服務時公開。 |
父項目
元素 | 描述 |
---|---|
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>
當服務初始化時,指定的命名空間和合約名稱就會套用至所產生的服務描述。