次の方法で共有


ClientOperation クラス

定義

クライアント オブジェクトまたはクライアント チャネル オブジェクトでの特定のコントラクト操作の実行動作を変更または拡張するために使用します。 このクラスは継承できません。

public ref class ClientOperation sealed
public ref class ClientOperation sealed : System::ServiceModel::Dispatcher::ClientOperationCompatBase
public sealed class ClientOperation
public sealed class ClientOperation : System.ServiceModel.Dispatcher.ClientOperationCompatBase
type ClientOperation = class
type ClientOperation = class
    inherit ClientOperationCompatBase
Public NotInheritable Class ClientOperation
Public NotInheritable Class ClientOperation
Inherits ClientOperationCompatBase
継承
ClientOperation
継承

次のコード例では、System.ServiceModel.Description.IEndpointBehavior プロパティの各 ClientOperation にカスタム パラメーター インスペクターを挿入する ClientRuntime.Operations を示します。

#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

注釈

ClientOperation クラスは、1 つのサービス操作のスコープ内だけに適用されるカスタムの拡張を実現するために、クライアント ランタイムに対して変更または挿入を行う場所です。 (コントラクト内のすべてのメッセージのクライアントランタイム動作を変更するには、 クラスを使用します ClientRuntime

ClientOperation 型 (変更する特定の操作を検索する場合) または IContractBehavior 型 (カスタム属性を作成することで適用できます) のカスタム クライアント動作オブジェクトを使用して、IOperationBehavior の変更をインストールします。

Operations プロパティを使用して、特定のサービス操作を表す ClientOperation オブジェクトを検索します。

クライアントとクライアント アーキテクチャの詳細については、「WCF クライアントと WCF クライアント アーキテクチャを使用したサービスへのアクセス」を参照してください。 クライアント ランタイムのカスタマイズの詳細については、「クライアントの 拡張」を参照してください。 動作の使用の詳細については、「ビヘイビアー を使用したランタイムの構成と拡張」を参照してください。

次の各プロパティを使用すると、カスタム オブジェクトを挿入したり、クライアントの実行動作を変更したりできます。

  • Formatter プロパティは、特定の操作用に IClientMessageFormatter のカスタムの実装を挿入したり、現在のフォーマッタを変更するために使用します。

  • ParameterInspectors プロパティは、IParameterInspector のカスタムの実装を挿入したり、現在の実装を変更するために使用します。

  • SerializeRequest プロパティは、送信メッセージをシリアル化するクライアントを制御するために使用します。

  • DeserializeReply プロパティは、受信メッセージを逆シリアル化するクライアントを制御するために使用します。

  • Action プロパティは、要求メッセージの WS-Addressing アクションにアクセスするために使用します。また、ReplyAction プロパティは、応答メッセージのアクションにアクセスするために使用します。

  • BeginMethod プロパティと EndMethod プロパティは、非同期操作に関連付けられるクライアント メソッドを指定するために使用します。

  • FaultContractInfos プロパティは、SOAP エラーの際に詳細な型として表示できる指定された型のコレクションを取得するために使用します。

  • IsInitiating プロパティおよび IsTerminating プロパティは、操作が呼び出されたとき、それぞれセッションを起動するか終了するかを制御するために使用します。

  • IsOneWay プロパティは、クライアントが応答を待ってから呼び出しを完了するかどうかを制御するために使用します。

  • Parent プロパティは、ClientRuntime の親オブジェクトを取得するために使用します。

  • Name プロパティは、操作の名前を取得するために使用します。

  • SyncMethod プロパティは、操作にマップされるメソッドを制御するために使用します。

コンストラクター

ClientOperation(ClientRuntime, String, String)

指定した ClientOperation、名前、およびアクションの値を使用して、ClientRuntime クラスの新しいインスタンスを初期化します。

ClientOperation(ClientRuntime, String, String, String)

指定した ClientOperation、名前、アクション、および応答アクションの値を使用して、ClientRuntime クラスの新しいインスタンスを初期化します。

プロパティ

Action

操作のアクションを取得します。

BeginMethod

非同期操作に関連付けられたメソッドを取得または設定します。

ClientParameterInspectors

クライアント呼び出しの前またはそれに続けてパラメーターを表示または変更するために使用されるパラメーター インスペクター オブジェクトのコレクションを取得します。

DeserializeReply

Formatter プロパティの値が応答メッセージの逆シリアル化に使用されるかどうかを示す値を取得または設定します。

EndMethod

操作の非同期終了メソッドを実装するメソッドを取得または設定します。

FaultContractInfos

この操作に対する指定した SOAP エラーを表す FaultContractInfo オブジェクトのコレクションを取得します。

Formatter

オブジェクトをメッセージにシリアル化し、メッセージをオブジェクトに逆シリアル化するフォーマッタを取得または設定します。

IsInitiating

この操作に対するメッセージがセッションを開始できるかどうかを示す値を取得または設定します。

IsOneWay

操作が一方向の操作かどうかを示す値を取得または設定します。

IsTerminating

この操作がセッションの最後の操作かどうかを示す値を取得または設定します。

Name

操作の名前を取得します。

ParameterInspectors

特定のクライアント メソッドの受信オブジェクトと送信オブジェクトを検査および変更できる IParameterInspector オブジェクトのコレクションを取得または設定します。

Parent

格納している ClientRuntime オブジェクトを取得します。

ReplyAction

この操作の応答メッセージのアクションを取得します。

SerializeRequest

Formatter オブジェクトが送信メッセージをシリアル化するかどうかを指定する値を取得または設定します。

SyncMethod

この操作に関連付けられたメソッドを取得または設定します。

TaskMethod

タスクに関連付けられているメソッドを取得または設定します。

TaskTResult

タスクに関連付けられたメソッドの結果の型を取得または設定します。

メソッド

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
ToString()

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

(継承元 Object)

適用対象