EndpointDispatcher EndpointDispatcher EndpointDispatcher EndpointDispatcher Class

定義

メッセージに対するランタイム拡張機能または変更をサービス アプリケーションに挿入できるようにするプロパティを公開するランタイム オブジェクトを表します。Represents the run-time object that exposes properties that enable the insertion of run-time extensions or modifications for messages in service applications.

public ref class EndpointDispatcher sealed
public sealed class EndpointDispatcher
type EndpointDispatcher = class
Public NotInheritable Class EndpointDispatcher
継承
EndpointDispatcherEndpointDispatcherEndpointDispatcherEndpointDispatcher

次のコード例は、エンドポイントの EndpointDispatcher を検索するための System.ServiceModel.Dispatcher.DispatchRuntime の使用方法を示しています。The following code example shows the use of EndpointDispatcher to locate the System.ServiceModel.Dispatcher.DispatchRuntime for the endpoint and inserts a custom message inspector using an endpoint behavior.

// IEndpointBehavior Members
public void AddBindingParameters(ServiceEndpoint serviceEndpoint, System.ServiceModel.Channels.BindingParameterCollection bindingParameters)
{
  return;
}

public void ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior)
{
  behavior.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}

public void ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher)
{
  endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new EndpointBehaviorMessageInspector());
}

public void Validate(ServiceEndpoint serviceEndpoint)
{
  return;
}

注釈

EndpointDispatcher クラスと System.ServiceModel.Dispatcher.DispatchRuntime クラスは、サービスのエンドポイントに対するランタイム カスタマイズ ポイントを公開します。The EndpointDispatcher and the System.ServiceModel.Dispatcher.DispatchRuntime classes expose the runtime customization points for endpoints in a service. EndpointDispatcher を使用すると、処理できるメッセージおよび一部のエンドポイント関連情報を制御できます。The EndpointDispatcher can be used to control which messages it can process and some endpoint-related information. DispatchRuntime には、エンドポイント全体のランタイムにカスタム拡張機能を挿入するために使用できる多くのプロパティがあります。The DispatchRuntime has a large number of properties used to insert custom extensions into the endpoint-wide runtime.

メッセージの送信先アドレスが EndpointDispatcher プロパティに一致しており、メッセージ アクションが System.ServiceModel.Dispatcher.ChannelDispatcher プロパティに一致しているときは、AddressFilter オブジェクトが、ContractFilter から送信されたメッセージの処理を担当します。The EndpointDispatcher object is responsible for processing messages from a System.ServiceModel.Dispatcher.ChannelDispatcher when the destination address of a message matches the AddressFilter property and the message action matches the ContractFilter property. 2 つの EndpointDispatcher オブジェクトが 1 つのメッセージを受信する可能性があるときは、FilterPriority プロパティの値によって、優先度の高いエンドポイントが決まります。If two EndpointDispatcher objects can accept a message, the FilterPriority property value determines the higher priority endpoint.

EndpointDispatcher オブジェクトは、関連付けられた ChannelDispatcher からのメッセージの受信、メッセージ オブジェクトからパラメーターとして使用するオブジェクトへの変換、およびエンドポイント操作の呼び出しといったプロセス、およびこれらの逆のプロセスを、構成または拡張するために使用します。Use the EndpointDispatcher object to configure or extend the process of receiving messages from the associated ChannelDispatcher, converting from message objects to objects used as parameters, and invoking an endpoint operation as well as the reverse process.

通常、エンドポイントの EndpointDispatcherIEndpointBehavior インターフェイスを実装することで取得しますが、EndpointDispatcher には他の動作インターフェイスからでもアクセスできます。Typically, the EndpointDispatcher for an endpoint is obtained by implementing the IEndpointBehavior interface, but you can access the EndpointDispatcher from the other behavior interfaces.

次の EndpointDispatcher プロパティを使用できます。You can use the following EndpointDispatcher properties:

  • AddressFilter プロパティを使用すると、エンドポイントが特定のメッセージを処理できるかどうかを識別するために MessageFilter が使用する ChannelDispatcher オブジェクトを取得または設定できます。The AddressFilter property allows you to get or set a MessageFilter object that the ChannelDispatcher uses to identify whether the endpoint can process a particular message.

  • ChannelDispatcher プロパティは、関連付けられた ChannelDispatcher オブジェクトを取得します。このオブジェクトは EndpointDispatcher との間でメッセージを送受信し、このオブジェクトを使用することで他のチャネル関連の値や動作を検査または変更できます。The ChannelDispatcher property gets the associated ChannelDispatcher object, which sends and receives messages to and from the EndpointDispatcher and which can be used to inspect or modify other channel-related values and behaviors.

  • サービス エンドポイントまたはクライアント コールバック エンドポイント全体のランタイム動作を検査、変更、または拡張するために使用する ContractFilter gets the MessageFilter オブジェクトを取得または設定します。The ContractFilter gets the MessageFilter object that is used to identify whether a message is destined for this contract.

  • ContractName および ContractNamespace プロパティは、エンドポイント コントラクトの名前と名前空間を返します。The ContractName and ContractNamespace properties return the name and namespace of the endpoint contract.

  • DispatchRuntime プロパティが返す DispatchRuntime オブジェクトを使用すると、ランタイム値を変更したり、エンドポイント全体に関するカスタム ランタイム機能拡張を挿入したりできます。The DispatchRuntime property returns the DispatchRuntime object that you can use to modify run-time values or insert custom run-time extensions for the entire endpoint.

  • EndpointAddress プロパティは、エンドポイントのアドレスを取得します。The EndpointAddress property gets the address of the endpoint.

  • FilterPriority プロパティは、複合フィルターの優先順位を返します。ChannelDispatcher はこれを使用して、メッセージを処理するエンドポイントを決定します。The FilterPriority property returns the priority of the composite filter that the ChannelDispatcher uses to establish which endpoint is to handle the message.

コンストラクター

EndpointDispatcher(EndpointAddress, String, String) EndpointDispatcher(EndpointAddress, String, String) EndpointDispatcher(EndpointAddress, String, String) EndpointDispatcher(EndpointAddress, String, String)

指定したアドレス、コントラクト名、およびコントラクト名前空間で、EndpointDispatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the EndpointDispatcher class with the specified address, contract name, and contract namespace.

EndpointDispatcher(EndpointAddress, String, String, Boolean) EndpointDispatcher(EndpointAddress, String, String, Boolean) EndpointDispatcher(EndpointAddress, String, String, Boolean) EndpointDispatcher(EndpointAddress, String, String, Boolean)

指定したアドレス、コントラクト名、およびコントラクト名前空間を使用し、エンドポイントがパブリック システム エンドポイントかどうかに従って、EndpointDispatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the EndpointDispatcher class with the specified address, contract name, contract namespace, and whether the endpoint is a public, system endpoint.

プロパティ

AddressFilter AddressFilter AddressFilter AddressFilter

特定のメッセージがそのアドレス宛てのものかどうかの識別に使用する MessageFilter オブジェクトを取得または設定します。Gets or sets a MessageFilter object that is used to identify whether a particular message is destined for the endpoint address.

ChannelDispatcher ChannelDispatcher ChannelDispatcher ChannelDispatcher

関連付けられた ChannelDispatcher オブジェクトを取得します。このオブジェクトを使用すると、チャネル関連の他の値や動作を検査または変更できます。Gets the associated ChannelDispatcher object, which can be used to inspect or modify other channel-related values and behaviors.

ContractFilter ContractFilter ContractFilter ContractFilter

メッセージがこのコントラクトに宛てられたものかどうかの識別に使用する MessageFilter オブジェクトを取得または設定します。Gets or sets the MessageFilter object that is used to identify whether a message is destined for this contract.

ContractName ContractName ContractName ContractName

エンドポイント コントラクトの名前を取得します。Gets the endpoint contract name.

ContractNamespace ContractNamespace ContractNamespace ContractNamespace

エンドポイント コントラクトの名前空間を取得します。Gets the namespace of the endpoint contract.

DispatchRuntime DispatchRuntime DispatchRuntime DispatchRuntime

サービス エンドポイントまたはクライアント コールバック エンドポイント全体のランタイム動作を検査、変更、または拡張するために使用する DispatchRuntime オブジェクトを取得します。Gets the DispatchRuntime object used to inspect, modify, or extend run-time behavior across a service endpoint or a client callback endpoint.

EndpointAddress EndpointAddress EndpointAddress EndpointAddress

エンドポイントのアドレスを取得します。Gets the address of the endpoint.

FilterPriority FilterPriority FilterPriority FilterPriority

ContractFilter がエンドポイントを選択するときの、AddressFilterChannelDispatcher の組み合わせの優先順位を取得または設定します。Gets or sets the priority of the ContractFilter and the AddressFilter combination when the ChannelDispatcher is selecting endpoints.

IsSystemEndpoint IsSystemEndpoint IsSystemEndpoint IsSystemEndpoint

エンドポイントがユーザーではなくサーバーによって内部で作成されたかどうかを示す値を取得します。Gets a value that indicates whether the endpoint is created internally by the server and not by the user.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象