Partager via


Configuration des comportements clients

Windows Communication Foundation (WCF) configure les comportements de deux manières : en faisant référence aux configurations de comportement, qui sont définies dans la section <behavior> du fichier de configuration d'une application cliente, ou par programme dans l'application appelante. Cette rubrique décrit ces deux approches.

Lors de l'utilisation d'un fichier de configuration, la configuration du comportement est une collection nommée de paramètres de configuration. Le nom de chaque configuration de comportement doit être unique. Cette chaîne est utilisée dans l'attribut behaviorConfiguration d'une configuration de point de terminaison pour lier le point de terminaison au comportement.

Exemple

Le code de configuration suivant définit un comportement appelé myBehavior. Le point de terminaison de client référence ce comportement dans l'attribut behaviorConfiguration.

<configuration>
    <system.serviceModel>
        <behaviors>
            <endpointBehaviors>
                <behavior name="myBehavior">
                    <clientVia />
                </behavior>
            </endpointBehaviors>
        </behaviors>
        <bindings>
            <basicHttpBinding>
                <binding name="myBinding" maxReceivedMessageSize="10000" />
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="myAddress" binding="basicHttpBinding" bindingConfiguration="myBinding" behaviorConfiguration="myBehavior" contract="myContract" />
        </client>
    </system.serviceModel>
</configuration>

Utilisation de comportements par programme

Vous pouvez également configurer ou insérer par programme des comportements en localisant la propriété Behaviors appropriée sur l'objet client Windows Communication Foundation (WCF) ou l'objet de fabrication de canaux client avant d'ouvrir le client.

Exemple

L'exemple de code suivant indique comment insérer par programme un comportement en accédant à la propriété Behaviors sur ServiceEndpoint retournée à partir de la propriété Endpoint avant la création de l'objet de canal.

Public Class Client
  Public Shared Sub Main()
    Try
      ' Picks up configuration from the config file.
      Dim factory As New ChannelFactory(Of ISampleServiceChannel)("WSHttpBinding_ISampleService")

      ' Add the client side behavior programmatically to all created channels.
      factory.Endpoint.Behaviors.Add(New EndpointBehaviorMessageInspector())

      Dim wcfClientChannel As ISampleServiceChannel = factory.CreateChannel()

      ' Making calls.
      Console.WriteLine("Enter the greeting to send: ")
            Dim greeting As String = Console.ReadLine()
      Console.WriteLine("The service responded: " & wcfClientChannel.SampleMethod(greeting))

      Console.WriteLine("Press ENTER to exit:")
      Console.ReadLine()

      ' Done with service. 
      wcfClientChannel.Close()
      Console.WriteLine("Done!")
    Catch timeProblem As TimeoutException
      Console.WriteLine("The service operation timed out. " & timeProblem.Message)
      Console.Read()
    Catch fault As FaultException(Of SampleFault)
      Console.WriteLine("SampleFault fault occurred: {0}", fault.Detail.FaultMessage)
      Console.Read()
    Catch commProblem As CommunicationException
      Console.WriteLine("There was a communication problem. " & commProblem.Message)
      Console.Read()
    End Try
  End Sub

Voir aussi

Autres ressources

<behaviors>