Compartir a través de


Configuración de los comportamientos del cliente

Windows Communication Foundation (WCF) configura los comportamientos de dos maneras: haciendo referencia a las configuraciones de comportamiento (que se definen en la sección <behavior> de un archivo de configuración de la aplicación cliente) o mediante programación, en la aplicación que realiza la llamada. En este tema se describen ambos métodos.

Al usar un archivo de configuración, la configuración del comportamiento es una colección con nombre de valores de configuración. El nombre de cada configuración de comportamiento debe ser único. Esta cadena se usa en el atributo behaviorConfiguration de una configuración de extremo para vincular el extremo al comportamiento.

Ejemplo

El código de configuración siguiente define un comportamiento llamado myBehavior. El extremo de cliente hace referencia a este comportamiento en el atributo 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>

Uso de comportamientos mediante programación

También puede configurar o insertar los comportamientos mediante programación buscando la propiedad Behaviors adecuada en el objeto de cliente Windows Communication Foundation (WCF) o en el objeto de generador de canal de cliente antes de abrir el cliente.

Ejemplo

En el ejemplo de código siguiente se muestra cómo insertar un comportamiento mediante programación teniendo acceso a la propiedad Behaviors en el ServiceEndpoint devuelto por la propiedad Endpoint antes de la creación del objeto del 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

Vea también

Otros recursos

<behaviors>