DispatchRuntime クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
既定のサービス動作の変更や、カスタム オブジェクトの結合に使用できるプロパティを公開します。このカスタム オブジェクトで、受信メッセージをオブジェクトに変換して操作にディスパッチする方法を変更できます。 このクラスは継承できません。
public ref class DispatchRuntime sealed
public sealed class DispatchRuntime
type DispatchRuntime = class
Public NotInheritable Class DispatchRuntime
- 継承
-
DispatchRuntime
注釈
DispatchRuntime クラスは、サービスまたは個別のエンドポイントの既定動作を変更するため、またはカスタム変更を実装したオブジェクトを次のサービス プロセスの一方または両方に挿入するために使用します。
受信メッセージをオブジェクトに変換し、メソッド呼び出しとしてサービス オブジェクト上でそれらのオブジェクトを解放します。
サービス操作呼び出しに対する応答から受信したオブジェクトを送信メッセージに変換します。
Windows Communication Foundation (WCF) では、チャネルディスパッチャーとエンドポイント ディスパッチャーは、新しいチャネルの受け入れ、メッセージの受信、メソッドのディスパッチと呼び出し、応答処理を担当するサービス コンポーネントです。 ServiceHost オブジェクトによって公開される各エンドポイントには、1 つのエンドポイント ディスパッチャーと、関連付けられた 1 つのチャネル ディスパッチャーがあります。さらに、双方向通信に参加する各クライアントには、各コールバック エンドポイントのエンドポイント ディスパッチャーとチャネル ディスパッチャーもあります。
DispatchRuntime を使用すると、メッセージが認識されない場合でも、特定のコントラクト全体のすべてのメッセージについて、特定のチャネルまたはエンドポイント ディスパッチャーを途中受信および拡張できます。 コントラクト内で宣言されているどのメッセージとも一致しないメッセージが到着すると、UnhandledDispatchOperation プロパティにより返された操作にディスパッチされます。 特定の操作についてすべてのメッセージを途中受信または拡張する方法については、DispatchOperation クラスを参照してください。
DispatchRuntime クラスによって公開されているディスパッチャー拡張性は次の 4 つの領域に大別できます。
ディスパッチ コンポーネントは、DispatchRuntime のプロパティおよび ChannelDispatcher プロパティによって返される関連チャネル ディスパッチャーのプロパティを使用して、チャネル ディスパッチャーがチャネルを受け入れてクローズする方法をカスタマイズします。 この分類に属するプロパティとして、ChannelInitializers プロパティおよび InputSessionShutdownHandlers があります。
メッセージ コンポーネントを、処理されるメッセージごとにカスタマイズします。 この分類に属するプロパティとして、MessageInspectors、OperationSelector、Operations、ErrorHandlers があります。
インスタンス コンポーネントが、特定のサービス型のインスタンスの作成、有効期間、破棄をカスタマイズします。 サービス オブジェクトの有効期間の詳細については、InstanceContextMode プロパティを参照してください。 このカテゴリには、InstanceContextInitializers プロパティおよび InstanceProvider プロパティが含まれます。
セキュリティ関連コンポーネントは、次のプロパティを使用できます。
SecurityAuditLogLocation は、監査イベントが出力される場所を示します。
ImpersonateCallerForAllOperations は、サービスが受信メッセージによって提供される資格情報を使用して偽装を試みるかどうかを制御します。
MessageAuthenticationAuditLevel は、SecurityAuditLogLocation によって指定されたイベント ログに、メッセージ認証成功イベントを出力するかどうかを制御します。
PrincipalPermissionMode は、CurrentPrincipal プロパティの設定方法を制御します。
ServiceAuthorizationAuditLevel は、承認イベントの監査の実行方法を指定します。
SuppressAuditFailure は、ログ記録処理中に発生した致命的でない例外を抑制するかどうかを指定します。
カスタムの拡張オブジェクトは通常、DispatchRuntime プロパティに割り当てるか、またはサービス動作 (IServiceBehavior を実装するオブジェクト)、契約動作 (IContractBehavior を実装するオブジェクト)、エンドポイント動作 (IEndpointBehavior を実装するオブジェクト) のいずれかによってコレクションに挿入します。 次に、インストール動作オブジェクトを、プログラムで直接、またはカスタムの BehaviorExtensionElement オブジェクトを実装して適切な動作コレクションに追加し、アプリケーション構成ファイルを使用して動作を挿入できるようにします。
プロパティ
AutomaticInputSessionShutdown |
クライアントが出力セッションを閉じるときに、サービスは入力セッションを閉じるかどうかを指定する値を取得または設定します。 |
CallbackClientRuntime |
双方向コールバック エンドポイントに対する送信呼び出しに関する Windows Communication Foundation (WCF) への機能拡張のインストール ポイントを表す ClientRuntime オブジェクトを取得します。 |
ChannelDispatcher |
このディスパッチ ランタイム オブジェクトの ChannelDispatcher を取得します。 |
ConcurrencyMode |
サービスのインスタンスがメッセージを順番に処理するか、または同時に処理するかを取得または設定します。 |
EndpointDispatcher |
このディスパッチ ランタイムの EndpointDispatcher を取得します。 |
EnsureOrderedDispatch |
メッセージが送信された順序でディスパッチされるかどうかを示す値を取得します。 |
ExternalAuthorizationPolicies |
特定のクレーム セットについて、ユーザーを承認するための一連のルールを定義する外部承認ポリシーを取得または設定します。 |
IgnoreTransactionMessageProperty |
TransactionMessageProperty を無視するかどうかを取得または設定します。 |
ImpersonateCallerForAllOperations |
受信メッセージによって提供される資格情報を使用してサービスが偽装を試みるかどうかを制御する値を取得または設定します。 |
ImpersonateOnSerializingReply |
応答操作のシリアル化で偽装が使用されているかどうかを示す値を取得します。 |
InputSessionShutdownHandlers |
入力セッションを閉じる方法を制御するためのカスタム ハンドラーの追加に使用できる IInputSessionShutdown オブジェクトのコレクションを取得します。 |
InstanceContextInitializers |
IInstanceContextInitializer オブジェクトが最初に作成されたときにそれを検査または変更するために使用できる InstanceContext オブジェクトのコレクションを取得します。 |
InstanceContextProvider |
IInstanceContextProvider が使用する DispatchRuntime を取得または設定します。 |
InstanceProvider |
サービス オブジェクトの作成と破棄の制御に使用できる IInstanceProvider オブジェクトを取得または設定します。 |
MessageAuthenticationAuditLevel |
メッセージ認証成功イベントを SecurityAuditLogLocation で指定されているイベント ログに書き込むかどうかを指定する値を取得または設定します。 |
MessageInspectors |
エンドポイントを通過するすべての受信および送信メッセージにカスタム メッセージ インスペクターを結合するために使用できる IDispatchMessageInspector オブジェクトのコレクションを取得します。 |
Operations |
特定の操作の実行動作の制御に使用できる DispatchOperation オブジェクトのコレクションを取得します。 |
OperationSelector |
特定のメッセージの宛先 IDispatchOperationSelector の選択を制御する DispatchOperation オブジェクトを取得または設定します。 |
PreserveMessage |
メッセージが保持されるかどうかを取得または設定します。 |
PrincipalPermissionMode |
CurrentPrincipal プロパティの設定方法を指定する値を取得または設定します。 |
ReleaseServiceInstanceOnTransactionComplete |
トランザクションが正常に完了した後でサービス オブジェクトをリサイクルするかどうかを指定する値を取得または設定します。 |
RoleProvider |
RoleProvider が使用するカスタム DispatchRuntime を取得または設定します。 |
SecurityAuditLogLocation |
監査ログの場所を取得または設定します。 |
ServiceAuthenticationManager |
サービス操作の認証プロセスを管理するオブジェクトを取得または設定します。 |
ServiceAuthorizationAuditLevel |
監査するサービス承認イベントを制御する値を取得または設定します。 |
ServiceAuthorizationManager |
ServiceAuthorizationManager に関する承認検査を提供する DispatchRuntime を取得します。 |
SingletonInstanceContext |
IInstanceContextProvider が使用するシングルトン DispatchRuntime を取得または設定します。 |
SuppressAuditFailure |
ログ記録処理中に発生した致命的でない例外を抑制するかどうかを指定する値を取得または設定します。 |
SynchronizationContext |
サービス操作の呼び出しに使用される同期コンテキストを取得または設定します。 |
TransactionAutoCompleteOnSessionClose |
セッションが閉じるときに現在のトランザクションを自動的に完了するかどうかを指定する値を取得または設定します。 |
Type |
コントラクトの型を取得または設定します。 |
UnhandledDispatchOperation |
認識されないメッセージをディスパッチする操作を取得または設定します。 |
ValidateMustUnderstand |
ValidateMustUnderstand の値を取得または設定します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |