次の方法で共有


<channelSettings>

チャネル キャッシュの設定を指定します。

Schema Hierarchy

ワークフローの <system.serviceModel>
  ワークフローの <behaviors>
    ワークフローの <serviceBehaviors>
      ワークフローの <serviceBehaviors> の <behavior>
        <sendMessageChannelCache>
          <channelSettings>

構文

<behaviors>  <serviceBehaviors>    <behavior name=String">       <sendMessageChannelCache allowUnsafeCaching="Boolean" >                   <channelSettings idleTimeout="TimeSpan" leaseTimeout="TimeSpan" maxItemsInCache="Integer" />       </sendMessageChannelCache>    </behavior>  </serviceBehaviors></behaviors>

属性と要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明

idleTimeout

オブジェクトが破棄されるまでにキャッシュ内でアイドル状態を維持できる最大時間を指定する TimeSpan 値。

leaseTimeout

オブジェクトがキャッシュから削除されるまでの時間間隔を指定する TimeSpan 値。

maxItemsInCache

キャッシュに置くことができるオブジェクトの最大数を指定する整数。

子要素

なし。

親要素

要素 説明

<sendMessageChannelCache>

キャッシュの共有レベルのカスタマイズや、チャネル ファクトリ キャッシュの設定を可能にするほか、Send メッセージング アクティビティを使用してサービス エンドポイントにメッセージを送信するワークフローのチャネル キャッシュの設定も可能にするサービス動作。

解説

このサービス動作は、サービス エンドポイントにメッセージを送信するワークフローを対象としています。これらのワークフローは、通常はクライアント ワークフローですが、WorkflowServiceHost でホストされるワークフロー サービスである場合もあります。

既定では、WorkflowServiceHost によってホストされるワークフローでは、Send メッセージング アクティビティが使用するキャッシュは WorkflowServiceHost のすべてのワークフロー インスタンス間で共有されます (ホストレベルのキャッシュ)。WorkflowServiceHost によってホストされないクライアント ワークフローの場合、キャッシュを使用できるのはワークフロー インスタンスだけです (インスタンスレベルのキャッシュ)。構成でエンドポイントが定義されているワークフローに送信アクティビティがある場合、キャッシュは既定で無効になります。

チャネル ファクトリおよびチャネル キャッシュの既定のキャッシュ共有レベルとキャッシュ設定を変更する方法の詳細については、「Changing the Cache Sharing Levels for Send Activities」を参照してください。

ホストされたワークフロー サービスでは、ファクトリ キャッシュとチャネル キャッシュの設定をアプリケーション構成ファイルで指定できます。これを行うには、ファクトリ キャッシュおよびチャネル キャッシュのキャッシュ設定を含むサービス動作を追加し、そのサービス動作をサービスに追加します。次の例は、カスタムのファクトリ キャッシュ設定およびチャネル キャッシュ設定が指定された **MyChannelCacheBehavior **サービス動作を含む構成ファイルの内容を示しています。このサービス動作は、**behaviorConfiguarion **属性を通じてサービスに追加されます。

<configuration>  
  <system.serviceModel>
    <!-- List of other config sections here --> 
    <behaviors>
      <serviceBehaviors>
        <behavior name="MyChannelCacheBehavior">
          <sendMessageChannelCache allowUnsafeCaching ="false" >
            <!-- Control only the host level settings --> 
            <factorySettings maxItemsInCache = "8" idleTimeout = "00:05:00" leaseTimeout="10:00:00" />
            <channelSettings maxItemsInCache = "32" idleTimeout = "00:05:00" leaseTimeout="00:06:00" />
          </sendMessageChannelCache>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="MyService" behaviorConfiguration="MyChannelCacheBehavior" />
    </services>
  </system.serviceModel>
</configuration> 

参照

リファレンス

SendMessageChannelCache
SendMessageChannelCacheElement
Send
ChannelCacheSettings

その他のリソース

Changing the Cache Sharing Levels for Send Activities

ビルド日:2010-02-13