IOperationBehavior.ApplyClientBehavior Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje modyfikację lub rozszerzenie klienta w ramach operacji.
public:
void ApplyClientBehavior(System::ServiceModel::Description::OperationDescription ^ operationDescription, System::ServiceModel::Dispatcher::ClientOperation ^ clientOperation);
public void ApplyClientBehavior (System.ServiceModel.Description.OperationDescription operationDescription, System.ServiceModel.Dispatcher.ClientOperation clientOperation);
abstract member ApplyClientBehavior : System.ServiceModel.Description.OperationDescription * System.ServiceModel.Dispatcher.ClientOperation -> unit
Public Sub ApplyClientBehavior (operationDescription As OperationDescription, clientOperation As ClientOperation)
Parametry
- operationDescription
- OperationDescription
Badana operacja. Użyj tylko do badania. Jeśli opis operacji zostanie zmodyfikowany, wyniki są niezdefiniowane.
- clientOperation
- ClientOperation
Obiekt czasu wykonywania, który uwidacznia właściwości dostosowywania dla operacji opisanej przez operationDescription
.
Przykłady
Poniższy przykład kodu przedstawia implementację System.ServiceModel.Dispatcher.IParameterInspector tego zapisu w konsoli, gdy inspektor jest wywoływany w operacji. To dostosowanie można dołączyć tylko do System.ServiceModel.Dispatcher.DispatchOperation elementu lub System.ServiceModel.Dispatcher.ClientOperation i dlatego jest zwykle wstawiane przez zachowanie operacji.
#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
Poniższy przykład kodu pokazuje, jak zachowanie operacji dołącza inspektora parametrów do środowiska uruchomieniowego.
#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
Uwagi
Zaimplementuj metodę wyświetlania ApplyClientBehavior , modyfikowania lub dodawania niestandardowego rozszerzenia do środowiska uruchomieniowego klienta we wszystkich komunikatach używanych z określoną operacją. Aby uzyskać szczegółowe informacje na temat dostosowań, które można wykonać za pomocą obiektu czasu wykonywania klienta, zobacz ClientRuntime i ClientOperation.
Zaleca się, aby ApplyClientBehavior metoda zgłaszała NotImplementedException wyjątek , jeśli zachowanie jest przeznaczone tylko do użycia w aplikacji usługi.