Share via


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

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

另請參閱