<system.serviceModel>

Esta sección de configuración contiene todos los elementos de configuración de ServiceModel de Windows Communication Foundation (WCF).

<configuration>
  <system.serviceModel>

Sintaxis

<system.serviceModel>
  <behaviors>
  </behaviors>
  <bindings>
  </bindings>
  <client>
  </client>
  <comContracts>
  </comContracts>
  <commonBehaviors>
  </commonBehaviors>
  <diagnostics>
  </diagnostics>
  <extensions>
  </extensions>
  <protocolMapping>
  </protocolMapping>
  <routing>
  </routing>
  <serviceHostingEnvironment>
  </serviceHostingEnvironment>
  <services>
  </services>
  <standardEndpoints>
  </standardEndpoints>
  <tracking>
  </tracking>
</system.serviceModel>

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

None

Elementos secundarios

Elemento Descripción
<behaviors> Esta sección define dos colecciones secundarias denominadas endpointBehaviors y serviceBehaviors. Cada colección define los elementos de comportamiento utilizados respectivamente por extremos y servicios. Su atributo de name único identifica cada elemento de comportamiento.
<bindings> Esta sección contiene una colección de enlaces estándar y personalizados. Su name único identifica cada entrada. Los servicios usan los enlaces vinculándose a ellos mediante name.
<client> Esta sección contiene una lista de extremos que usa un cliente para conectarse a un servicio.
<comContracts> Esta sección define contratos COM habilitados para WCF e interoperabilidad COM.
<commonBehaviors> Esta sección solo se puede definir en el archivo machine.config. Define dos colecciones secundarias denominadas endpointBehaviors y serviceBehaviors. Cada colección define elementos de comportamiento utilizados respectivamente por todos los puntos de conexión WCF y servicios de la máquina. Si un comportamiento se define en las secciones <commonBehaviors> y <behaviors>, el comportamiento en la sección <behaviors> tendrá la preferencia.
<diagnostics> Esta sección contiene la configuración para las características de diagnóstico de WCF. El usuario puede habilitar/deshabilitar el seguimiento, contadores de rendimiento y el proveedor de WMI, y puede agregar filtros de mensajes personalizados.
<extensions> Esta sección contiene una colección de extensiones, que permiten al usuario crear los enlaces definidos por el usuario, comportamientos y otros aspectos de las extensiones.
<protocolMapping> En esta sección se define un conjunto de asignación de protocolos predeterminados entre los esquemas de protocolos de transporte (ej., http, net.tcp, net.pipe, etc.) y enlaces WCF.
<routing> En esta sección, se define un conjunto de filtros de enrutamiento, que determina el tipo de MessageFilter de Windows Communication Foundation (WCF) que se va a utilizar al evaluar los mensajes entrantes, así como las tablas de enrutamiento que definen los puntos de conexión de destino a los que se van a enviar mensajes cuando coincida un filtro.
<serviceHostingEnvironment> Esta sección define para qué tipo el entorno de host de servicio crea instancias de un transporte determinado. Si esta sección está vacía, se usa el tipo predeterminado.
<services> Esta sección contiene una colección de servicios. Para cada servicio definido en el ensamblado, este elemento contiene un elemento service que especifica la configuración del servicio.
<standardEndpoints> Esta sección define una colección de extremos estándar, que son los extremos preconfigurados reutilizables. Un punto de conexión estándar tendrá uno o más atributos de la dirección, el enlace y el contrato establecidos en un valor fijo. Por ejemplo, en el punto de conexión de la detección el contrato es fijo. También puede usar los puntos de conexión estándar para extender el punto de conexión de servicio con nuevas propiedades similares a la definición de enlaces personalizados.
<tracking> En esta sección, se define la configuración de seguimiento de un servicio de flujo de trabajo.

Elementos primarios

Elemento Descripción
<configuración> El elemento raíz para todos los elementos de configuración en un archivo de configuración .NET.

Comentarios

WCF no agrega elementos a las secciones de configuración de otros productos.

Los servicios WCF se definen en la sección services del archivo de configuración. Un ensamblado puede contener cualquier número de servicios. Cada servicio tiene su propia sección de configuración de service. La sección y su contenido definen el contrato de servicios, comportamiento y puntos de conexión del servicio determinado.

Sólo se requiere el atributo de name del servicio. De forma predeterminada, el nombre de un servicio describe el tipo CLR subyacente usado para implementar un servicio; sin embargo, puede cambiar la propiedad ConfigurationName en ServiceContractAttribute para invalidar el requisito de tipo de CLR.

El atributo behaviorConfiguration es opcional. Identifica el comportamiento del servicio usado por un servicio. El comportamiento especificado por este atributo debe vincularse a un comportamiento del servicio definido en el ámbito del mismo archivo de configuración (es decir, el mismo archivo o un archivo primario).

Cada servicio expone uno o más puntos de conexión definidos en un elemento endpoint. Cada extremo tiene su propia dirección y enlace. Todos los enlaces usados dentro del archivo de configuración se deben definir en el ámbito del archivo.

Los enlaces se vinculan a los puntos de conexión a través de la combinación de los atributos name y bindingConfiguration. El atributo de binding define la sección en que está definido el enlace. El atributo bindingConfiguration define el enlace configurado que se usa en la sección de enlaces. Una sección de enlaces puede definir varios enlaces configurados.

Ejemplo

Esto es un ejemplo de un archivo de configuración de WCF.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.serviceModel>
    <behaviors>
      <!-- List of Behaviors -->
    </behaviors>
    <client>
      <!-- List of Endpoints -->
    </client>
    <diagnostics wmiProviderEnabled="false"
                 performanceCountersEnabled="false"
                 tracingEnabled="false">
    </diagnostics>
    <serviceHostingEnvironment>
      <!-- List of entries -->
    </serviceHostingEnvironment>
    <comContracts>
      <!-- List of COM+ Contracts -->
    </comContracts>
    <services>
      <!-- List of Services -->
    </services>
    <bindings>
      <!-- List of Bindings -->
    </bindings>
  </system.serviceModel>
</configuration>

Consulte también