更新 : 2007 年 11 月
操作全体にわたってクライアントの変更または拡張を実装します。
名前空間 :
System.ServiceModel.Description
アセンブリ :
System.ServiceModel (System.ServiceModel.dll 内)
Sub ApplyClientBehavior ( _
operationDescription As OperationDescription, _
clientOperation As ClientOperation _
)
Dim instance As IOperationBehavior
Dim operationDescription As OperationDescription
Dim clientOperation As ClientOperation
instance.ApplyClientBehavior(operationDescription, _
clientOperation)
void ApplyClientBehavior(
OperationDescription operationDescription,
ClientOperation clientOperation
)
void ApplyClientBehavior(
OperationDescription^ operationDescription,
ClientOperation^ clientOperation
)
void ApplyClientBehavior(
OperationDescription operationDescription,
ClientOperation clientOperation
)
function ApplyClientBehavior(
operationDescription : OperationDescription,
clientOperation : ClientOperation
)
特定の操作で使用されるすべてのメッセージについて、クライアント ランタイムを表示または変更したり、クライアント ランタイムにカスタム拡張機能を追加したりするには、ApplyClientBehavior メソッドを実装します。クライアントのランタイム オブジェクトで実行できるカスタマイズの詳細については、ClientRuntime および ClientOperation を参照してください。
動作をサービス アプリケーションでのみ使用する場合は、ApplyClientBehavior メソッドで NotImplementedException をスローさせることをお勧めします。
インスペクタが操作で呼び出されたときにコンソールに書き込みを行う System.ServiceModel.Dispatcher..::.IParameterInspector の実装を次のコード例に示します。このカスタマイズは、System.ServiceModel.Dispatcher..::.DispatchOperation または System.ServiceModel.Dispatcher..::.ClientOperation にのみ結び付けることができるので、通常は操作の動作によって挿入されます。
#region IParameterInspector Members
public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)
{
Console.WriteLine(
"IParameterInspector.AfterCall called for {0} with return value {1}.",
operationName,
returnValue.ToString()
);
}
public object BeforeCall(string operationName, object[] inputs)
{
Console.WriteLine("IParameterInspector.BeforeCall called for {0}.", operationName);
return null;
}
操作の動作がパラメータ インスペクタをランタイムに結び付ける方法を次のコード例に示します。
#region IOperationBehavior Members
public void AddBindingParameters(
OperationDescription operationDescription, BindingParameterCollection bindingParameters
)
{ return; }
public void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation)
{
clientOperation.ParameterInspectors.Add(new Inspector());
}
public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
{
dispatchOperation.ParameterInspectors.Add(new Inspector());
}
public void Validate(OperationDescription operationDescription){ return; }
- 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。
Windows Vista, Windows XP SP2, Windows Server 2003
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
.NET Framework
サポート対象 : 3.5、3.0
参照