IOperationBehavior.ApplyDispatchBehavior メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
操作全体にわたってサービスの変更または拡張を実装します。
public:
void ApplyDispatchBehavior(System::ServiceModel::Description::OperationDescription ^ operationDescription, System::ServiceModel::Dispatcher::DispatchOperation ^ dispatchOperation);
public void ApplyDispatchBehavior (System.ServiceModel.Description.OperationDescription operationDescription, System.ServiceModel.Dispatcher.DispatchOperation dispatchOperation);
abstract member ApplyDispatchBehavior : System.ServiceModel.Description.OperationDescription * System.ServiceModel.Dispatcher.DispatchOperation -> unit
Public Sub ApplyDispatchBehavior (operationDescription As OperationDescription, dispatchOperation As DispatchOperation)
パラメーター
- operationDescription
- OperationDescription
検査されている操作。 検査でのみ使用します。 操作の説明が変更される場合、結果は未定義です。
- dispatchOperation
- DispatchOperation
operationDescription
で説明されている操作のカスタマイズ プロパティを公開するランタイム オブジェクト。
例
インスペクターが操作で呼び出されたときにコンソールに書き込みを行う 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 "IParameterInspector Members"
Public Sub AfterCall(ByVal operationName As String, ByVal outputs() As Object, ByVal returnValue As Object, _
ByVal correlationState As Object) Implements IParameterInspector.AfterCall
Console.WriteLine("IParameterInspector.AfterCall called for {0} with return value {1}.", _
operationName, returnValue.ToString())
End Sub
Public Function BeforeCall(ByVal operationName As String, ByVal inputs() As Object) As Object Implements _
IParameterInspector.BeforeCall
Console.WriteLine("IParameterInspector.BeforeCall called for {0}.", operationName)
Return Nothing
End Function
操作の動作がパラメーター インスペクターをランタイムに結び付ける方法を次のコード例に示します。
#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; }
#Region "IOperationBehavior Members"
Public Sub AddBindingParameters(ByVal operationDescription As OperationDescription, _
ByVal bindingParameters As BindingParameterCollection) Implements _
IOperationBehavior.AddBindingParameters
Return
End Sub
Public Sub ApplyClientBehavior(ByVal operationDescription As OperationDescription, ByVal _
clientOperation As ClientOperation) Implements IOperationBehavior.ApplyClientBehavior
clientOperation.ParameterInspectors.Add(New Inspector())
End Sub
Public Sub ApplyDispatchBehavior(ByVal operationDescription As OperationDescription, ByVal dispatchOperation As _
DispatchOperation) Implements IOperationBehavior.ApplyDispatchBehavior
dispatchOperation.ParameterInspectors.Add(New Inspector())
End Sub
Public Sub Validate(ByVal operationDescription As OperationDescription) Implements IOperationBehavior.Validate
Return
End Sub
注釈
すべてのメッセージまたは特定の操作について、サービス ランタイムを表示、変更、または拡張するには、ApplyDispatchBehavior メソッドを実装します。 サービス アプリケーションで実行できるカスタマイズの詳細については、System.ServiceModel.Dispatcher.DispatchRuntime および System.ServiceModel.Dispatcher.DispatchOperation を参照してください。
動作をクライアント アプリケーションでのみ使用する場合は、ApplyDispatchBehavior メソッドで NotImplementedException 例外をスローさせることをお勧めします。
適用対象
.NET