共用方式為


<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

布林值,指定合約是否只能用在工作階段繫結上。當服務初始化時,整合執行階段會確保這個設定與要使用的繫結型別是一致的。如果合約的一或多個繫結有衝突,便會產生例外狀況 (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>

當服務初始化時,指定的命名空間和合約名稱就會套用至所產生的服務描述。

請參閱

參考

ComContractElementCollection
ComContractElementCollection
ComContractElement

概念

<comContracts>

其他資源

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