Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
IOperationBehavior.ApplyClientBehavior, méthode
Implémente une modification ou une extension du client sur l'intégralité d'une opération.
Assembly : System.ServiceModel (dans System.ServiceModel.dll)
void ApplyClientBehavior(
OperationDescription operationDescription,
ClientOperation clientOperation
)
Paramètres
- operationDescription
- Type : System.ServiceModel.Description.OperationDescription
Opération en cours d'examen.Utilisez-la à titre d'examen uniquement.Si la description d'opération est modifiée, les résultats ne sont pas définis.
- clientOperation
- Type : System.ServiceModel.Dispatcher.ClientOperation
Objet d'exécution qui expose des propriétés de personnalisation pour l'opération décrite par operationDescription.
Implémentez la méthode ApplyClientBehavior pour afficher, modifier ou ajouter une extension personnalisée à l'exécution du client sur l'intégralité des messages utilisés avec une opération spécifique. Pour plus d'informations sur les personnalisations que vous pouvez effectuer avec un objet d'exécution d'un client, consultez ClientRuntime et ClientOperation.
Il est recommandé que la méthode ApplyClientBehavior lève une NotImplementedException si le comportement est uniquement destiné à une utilisation dans une application de service.
L'exemple de code suivant montre une implémentation de l'System.ServiceModel.Dispatcher.IParameterInspector qui écrit sur la console lors de l'appel à l'inspecteur sur une opération. Cette personnalisation ne peut être attachée à l'System.ServiceModel.Dispatcher.DispatchOperation ou l'System.ServiceModel.Dispatcher.ClientOperation et est par conséquent souvent insérée par un comportement d'opération.
#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; }
L'exemple de code suivant montre comment le comportement d'opération attache l'inspecteur de paramètre à l'exécution.
#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 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.