<channelSettings>
チャネル キャッシュの設定を指定します。
configuration
<system.ServiceModel>
behaviors
<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 によってホストされないクライアント ワークフローの場合、キャッシュを使用できるのはワークフロー インスタンスだけです (インスタンスレベルのキャッシュ)。 構成でエンドポイントが定義されているワークフローに送信アクティビティがある場合、キャッシュは既定で無効になります。
チャネル ファクトリおよびチャネル キャッシュの既定のキャッシュ共有レベルとキャッシュ設定を変更する方法については、「Send アクティビティのキャッシュ共有レベルの変更」を参照してください。
例
ホストされたワークフロー サービスでは、ファクトリ キャッシュとチャネル キャッシュの設定をアプリケーション構成ファイルで指定できます。 これを行うには、ファクトリ キャッシュおよびチャネル キャッシュのキャッシュ設定を含むサービス動作を追加し、そのサービス動作をサービスに追加します。 次の例は、カスタムのファクトリ キャッシュおよびチャネル キャッシュの設定が指定された MyChannelCacheBehavior
サービス動作を含む構成ファイルの内容を示しています。 このサービス動作は、behaviorConfiguration
属性を通じてサービスに追加されます。
<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>
関連項目
.NET