<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

コントラクトをセッションの多いバインディングでのみ使用できるかどうかを指定するブール値。サービスが初期化される場合、統合ランタイムは、この設定が、使用されるバインディングの種類と一貫していることを保証します。コントラクト内の 1 つ以上のバインディングが競合する場合は、例外が生成されます。このプロパティが 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

概念

<comContracts>

その他の技術情報

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