ClientRuntime ClientRuntime ClientRuntime ClientRuntime Class

定義

クライアント アプリケーションによって処理されるすべてのメッセージの Windows Communication Foundation (WCF) クライアント オブジェクトの機能を拡張するクラスの挿入ポイントを表します。Represents the insertion point for classes that extend the functionality of Windows Communication Foundation (WCF) client objects for all messages handled by a client application.

public ref class ClientRuntime sealed
public sealed class ClientRuntime
type ClientRuntime = class
Public NotInheritable Class ClientRuntime
継承
ClientRuntimeClientRuntimeClientRuntimeClientRuntime

次のコード例では、System.ServiceModel.Description.IEndpointBehaviorSystem.ServiceModel.Dispatcher.IClientMessageInspectorMessageInspectors プロパティに追加することで、クライアント ランタイムに挿入しています。In the following code example an System.ServiceModel.Description.IEndpointBehavior inserts a System.ServiceModel.Dispatcher.IClientMessageInspector into the client runtime by adding it to the MessageInspectors property.

#region IEndpointBehavior Members
public void AddBindingParameters(
  ServiceEndpoint endpoint, BindingParameterCollection bindingParameters
) { return; }

public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime)
{
  clientRuntime.MessageInspectors.Add(new Inspector());
  foreach (ClientOperation op in clientRuntime.Operations)
    op.ParameterInspectors.Add(new Inspector());
}

public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
{
  endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new Inspector());
  foreach (DispatchOperation op in endpointDispatcher.DispatchRuntime.Operations)
    op.ParameterInspectors.Add(new Inspector());
}

public void Validate(ServiceEndpoint endpoint){ return; }
#Region "IEndpointBehavior Members"
       Public Sub AddBindingParameters(ByVal endpoint As ServiceEndpoint, ByVal bindingParameters _
                                       As BindingParameterCollection) Implements IEndpointBehavior.AddBindingParameters
           Return
       End Sub

       Public Sub ApplyClientBehavior(ByVal endpoint As ServiceEndpoint, ByVal clientRuntime As ClientRuntime) _
       Implements IEndpointBehavior.ApplyClientBehavior
           clientRuntime.MessageInspectors.Add(New Inspector())
           For Each op As ClientOperation In clientRuntime.Operations
               op.ParameterInspectors.Add(New Inspector())
           Next op
       End Sub

       Public Sub ApplyDispatchBehavior(ByVal endpoint As ServiceEndpoint, ByVal endpointDispatcher As  _
                                        EndpointDispatcher) Implements IEndpointBehavior.ApplyDispatchBehavior
           endpointDispatcher.DispatchRuntime.MessageInspectors.Add(New Inspector())
           For Each op As DispatchOperation In endpointDispatcher.DispatchRuntime.Operations
               op.ParameterInspectors.Add(New Inspector())
           Next op
       End Sub

Public Sub Validate(ByVal endpoint As ServiceEndpoint) Implements IEndpointBehavior.Validate
	Return
End Sub

つぎのコード例では、エンドポイントの動作をクライアント エンドポイントに読み込む構成ファイルを示します。The following code example shows a configuration file that loads the endpoint behavior into the client endpoint.

  <client>
      <endpoint 
        address="http://localhost:8080/SampleService" 
        behaviorConfiguration="clientInspectorsAdded" 
        binding="wsHttpBinding"
        bindingConfiguration="WSHttpBinding_ISampleService" 
        contract="ISampleService"
        name="WSHttpBinding_ISampleService"
      >
      </endpoint>
  </client>
<behaviors>
  <endpointBehaviors>
    <behavior name="clientInspectorsAdded">
      <clientInterceptors />
    </behavior>
  </endpointBehaviors>
</behaviors>
<extensions>
  <behaviorExtensions>
    <add 
      name="clientInterceptors" 
      type="Microsoft.WCF.Documentation.InspectorInserter, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"
  />
  </behaviorExtensions>
</extensions>

注釈

Wcf クライアントオブジェクトは、 ClientBase<TChannel> IClientChannelまたはのいずれかの拡張機能を使用して Windows Communication Foundation (wcf) クライアントアプリケーションによって、メソッドの呼び出しを送信メッセージに変換し、受信メッセージをオブジェクトに変換して、クライアントメソッドの結果。WCF client objects, whether an extension of ClientBase<TChannel> or of IClientChannel, are used by Windows Communication Foundation (WCF) client applications to convert method calls into outbound messages and convert incoming messages to objects and pass them to the results of client methods.

ClientRuntime クラスは、メッセージを途中受信したり、すべての操作についてクライアントの動作を拡張したりする拡張オブジェクトを追加できる、拡張ポイントです。The ClientRuntime class is an extensibility point to which you can add extension objects that intercept messages and extend client behavior across all operations. 途中受信オブジェクトには、特定のコントラクト内のすべてのメッセージを処理する、特定の操作用のメッセージだけを処理する、カスタムのチャネル初期化を実行する、その他のカスタム クライアント アプリケーションの動作を実行する、などの機能があります。Interception objects can process all messages in a particular contract, process only messages for particular operations, perform custom channel initialization, and implement other custom client application behavior. クライアントアーキテクチャの概要については、「 WCF クライアントアーキテクチャ」を参照してください。For an overview of client architecture, see WCF Client Architecture. クライアントプログラミングの詳細については、「 WCF クライアントを使用したサービスへのアクセス」を参照してください。For more information about client programming, see Accessing Services Using a WCF Client. カスタマイズとその実行方法の詳細については、「クライアントの拡張」を参照してください。For details about customizations and how to perform them, see Extending Clients.

  • CallbackDispatchRuntime プロパティは、サービス側開始のコールバック操作用のディスパッチ ランタイム オブジェクトを返します。The CallbackDispatchRuntime property returns the dispatch run-time object for service-initiated callback operations.

  • OperationSelector プロパティは、クライアント メッセージのルーティングを制御するためのカスタム操作セレクター オブジェクトを受け取ります。The OperationSelector property accepts a custom operation selector object to control the routing of client messages.

  • ChannelInitializers プロパティを使用すると、クライアント チャネルを検査または変更できるチャネル初期化子を追加できます。The ChannelInitializers property enables the addition of a channel initializer that can inspect or modify the client channel.

  • InteractiveChannelInitializers プロパティを使用すると、チャネルを開く前にユーザーが資格情報を選択できるプロンプトを表示できます。The InteractiveChannelInitializers property can be used to display a visual prompt to enable a user to select credentials prior to opening the channel.

  • Operations プロパティは、ClientOperation オブジェクトのコレクションを取得します。このコレクションにカスタムのメッセージ インターセプターを追加すれば、その操作のメッセージに固有の機能を提供できます。The Operations property gets a collection of ClientOperation objects to which you can add custom message interceptors that provide functionality specific to the messages of that operation.

  • ManualAddressing プロパティをアプリケーションで使用すると、自動アドレス指定ヘッダーをオフにしてアドレス指定を直接制御できます。The ManualAddressing property enables an application to turn off some automatic addressing headers to directly control addressing.

  • MaxFaultSize プロパティを使用すると、クライアントは、受け取るエラー メッセージのサイズを制限できます。The MaxFaultSize property enables the client to limit the size of fault messages that the client accepts.

  • MessageInspectors プロパティは、IClientMessageInspector オブジェクトのコレクションを取得します。このコレクションには、クライアント経由のすべてのメッセージに対応するカスタム メッセージ インターセプターを追加できます。The MessageInspectors property gets a collection of IClientMessageInspector objects to which you can add custom message interceptors for all messages traveling through a client.

  • UnhandledClientOperation プロパティは、予期しないメッセージが渡された操作を返します。The UnhandledClientOperation property returns the operation to which unexpected messages are passed.

  • ValidateMustUnderstand プロパティは、MustUnderstand としてマークされた SOAP ヘッダーが間違いなく理解されたことを確認する必要があるかどうかをシステムに通知します。The ValidateMustUnderstand property informs the system whether it should confirm that SOAP headers marked as MustUnderstand have, in fact, been understood.

  • Via プロパティは、トランスポート レベルでメッセージの送信先の値を設定して、メッセージの中継者やその他のシナリオをサポートします。The Via property sets the value of the destination of the message at the transport level to support intermediaries and other scenarios.

また、クライアント コントラクト情報を取得するその他のプロパティも多数用意されています。In addition, there are a number of other properties that retrieve the client contract information:

クライアントが双方向クライアントの場合は、次のプロパティもクライアント コールバックの型とランタイムを取得します。If the client is a duplex client, the following properties also retrieve the client callback type and runtime:

プロパティ

CallbackClientType CallbackClientType CallbackClientType CallbackClientType

双方向クライアントに関連付けられたコールバック コントラクトの型を取得または設定します。Gets or sets the type of the callback contract associated with a duplex client.

CallbackDispatchRuntime CallbackDispatchRuntime CallbackDispatchRuntime CallbackDispatchRuntime

サービスが開始した操作をディスパッチするディスパッチ ランタイムを取得します。Gets the dispatch run-time that dispatches service-initiated operations.

ChannelInitializers ChannelInitializers ChannelInitializers ChannelInitializers

クライアントに関連付けられたチャネルをカスタマイズするために使用されるチャネル初期化子オブジェクトのコレクションを取得します。Gets a collection of channel initializer objects used to customize the channel associated with a client.

ClientMessageInspectors ClientMessageInspectors ClientMessageInspectors ClientMessageInspectors

特定のサービス操作のメッセージを表示または変更するために使用されるメッセージ インスペクター オブジェクトのコレクションを取得します。Gets a collection of message inspector objects used to view or modify messages of a particular service operation.

ClientOperations ClientOperations ClientOperations ClientOperations

特定のサービス操作のメッセージと動作を調査または変更する拡張オブジェクトを追加するために使用するクライアント操作オブジェクトのコレクションを取得します。Gets a collection of client operation objects used to attach extension objects that inspect or modify messages and behavior of a particular service operation.

ContractClientType ContractClientType ContractClientType ContractClientType

クライアントに関連付けられているコントラクトの型を取得または設定します。Gets or sets the type of the contract associated with a client.

ContractName ContractName ContractName ContractName

クライアントに関連付けられているコントラクトの名前を取得します。Gets the name of the contract associated with a client.

ContractNamespace ContractNamespace ContractNamespace ContractNamespace

クライアントに関連付けられているコントラクトの名前空間を取得します。Gets the namespace of the contract associated with a client.

InteractiveChannelInitializers InteractiveChannelInitializers InteractiveChannelInitializers InteractiveChannelInitializers

対話型チャネル初期化子のコレクションを取得します。Gets a collection of an interactive channel initializer.

ManualAddressing ManualAddressing ManualAddressing ManualAddressing

クライアントがアドレス指定ヘッダーを要求/応答メッセージに追加するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the client adds addressing headers to request-reply messages.

MaxFaultSize MaxFaultSize MaxFaultSize MaxFaultSize

最大エラー サイズを取得または設定します。Gets or sets the maximum fault size.

MessageInspectors MessageInspectors MessageInspectors MessageInspectors

クライアントのメッセージ インスペクターの実装のコレクションを取得します。Gets a collection of message inspector implementations for a client.

MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled MessageVersionNoneFaultsEnabled

MessageVersionNoneFaultsEnabled プロパティが設定されているかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the MessageVersionNoneFaultsEnabled property is set.

Operations Operations Operations Operations

クライアントに対するクライアント操作のコレクションを取得します。Gets a collection of client operations for a client.

OperationSelector OperationSelector OperationSelector OperationSelector

IClientOperationSelector を選択するために使用できる ClientOperation の実装を取得または設定します。Gets or sets an IClientOperationSelector implementation that can be used to select a ClientOperation.

UnhandledClientOperation UnhandledClientOperation UnhandledClientOperation UnhandledClientOperation

ClientOperation コレクション内に対応する Operations のないメソッドのクライアント操作を取得します。Gets the client operation for methods that do not have a corresponding ClientOperation in the Operations collection.

ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand ValidateMustUnderstand

システムまたはアプリケーションで SOAP MustUnderstand ヘッダー処理を強制的に行うかどうかを指定する値を取得または設定します。Gets or sets a value that specifies whether the system or the application enforces SOAP MustUnderstand header processing.

Via Via Via Via

クライアントを通してメッセージを送信するために使用するトランスポート アドレスを取得または設定します。Gets or sets the transport address that is used to send messages through the client.

メソッド

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)

適用対象