次の方法で共有


SendMessageChannelCache クラス

定義

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

public ref class SendMessageChannelCache sealed : IDisposable
public sealed class SendMessageChannelCache : IDisposable
type SendMessageChannelCache = class
    interface IDisposable
Public NotInheritable Class SendMessageChannelCache
Implements IDisposable
継承
SendMessageChannelCache
実装

次の例では、SendMessageChannelCache クラスを使用して、単一のアプリケーション ドメイン内の 2 つのワークフロー アプリケーション間でチャネル キャッシュを共有する方法を示します。


//sharing a channel cache between two workflow applications in a single app-domain.
sharedChannelCache = new SendMessageChannelCache(new ChannelCacheSettings { MaxItemsInCache = 5 }, new ChannelCacheSettings { MaxItemsInCache = 5 });

WorkflowApplication workflowApp1 = new WorkflowApplication(workflow);
workflowApp1.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp1.Extensions.Add(sharedChannelCache);

WorkflowApplication workflowApp2 = new WorkflowApplication(workflow);
workflowApp2.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp2.Extensions.Add(sharedChannelCache);

//disabling the channel cache so that channels are closed after being used.
SendMessageChannelCache disabledChannelCache = new SendMessageChannelCache(new ChannelCacheSettings { MaxItemsInCache = 0 }, new ChannelCacheSettings { MaxItemsInCache = 0 });

WorkflowApplication workflowApp3 = new WorkflowApplication(workflow);
workflowApp3.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp3.Extensions.Add(disabledChannelCache);

注釈

このクラスは、サービス エンドポイントにメッセージを送信するワークフローで使用するためのクラスです。 これらのワークフローは、通常はクライアント ワークフローですが、WorkflowServiceHost でホストされるワークフロー サービスである場合もあります。

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

チャネル ファクトリおよびチャネル キャッシュの既定のキャッシュ共有レベルとキャッシュ設定を変更する方法については、「Send アクティビティのキャッシュ共有レベルの変更」を参照してください。

コンストラクター

SendMessageChannelCache()

既定のファクトリ キャッシュおよびチャネル キャッシュ設定を使用して、SendMessageChannelCache クラスの新しいインスタンスを初期化します。

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

カスタム ファクトリ キャッシュおよびチャネル キャッシュ設定を使用して、SendMessageChannelCache クラスの新しいインスタンスを初期化します。

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

カスタム ファクトリ キャッシュ設定、カスタム チャネル キャッシュ設定、およびキャッシュを有効にするかどうかを示す値を使用して、SendMessageChannelCache クラスの新しいインスタンスを初期化します。

プロパティ

AllowUnsafeCaching

キャッシュを有効にするかどうかを示す値を取得または設定します。

ChannelSettings

チャネル キャッシュの設定を取得または設定します。

FactorySettings

チャネル ファクトリ キャッシュの設定を取得または設定します。

メソッド

Dispose()

SendMessageChannelCache クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象