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 クラスを使用して、1 つのアプリ ドメイン内の 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によってホストされていないクライアント ワークフローの場合、キャッシュはワークフロー インスタンスでのみ使用できます (インスタンス レベルのキャッシュ)。 構成でエンドポイントが定義されているワークフロー内の送信アクティビティでは、キャッシュは既定で無効になっています。

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

コンストラクター

名前 説明
SendMessageChannelCache()

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

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

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

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

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

プロパティ

名前 説明
AllowUnsafeCaching

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

ChannelSettings

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

FactorySettings

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

メソッド

名前 説明
Dispose()

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

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

適用対象