Compartir a través de


Modelo de configuración jerárquica

En este ejemplo se muestra cómo implementar una jerarquía de archivos de configuración para los servicios. También muestra cómo se heredan los enlaces, los comportamientos de servicio y los comportamientos de extremo de los niveles superiores de la jerarquía.

Detalles del ejemplo

Una de las características desarrolladas para WCF en .NET Framework versión 4 es la mejora del modelo de configuración jerárquico. Un ejemplo de modelo de configuración jerárquico sería el definido por Machine.config -> Rootweb.config -> Web.config. En .NET Framework 4, los enlaces y comportamientos que se definen en los niveles superiores en la jerarquía de configuración se agrega a sus servicios sin una configuración explícita. En este ejemplo se muestra cómo es posible simplificar la configuración de servicio basándose en los elementos de configuración definidos en el nivel de equipo o aplicación.

Este ejemplo está compuesto de nueve servicios, definidos en tres niveles de jerarquía. Service1 está en la raíz. Service2 y Service3 heredan los elementos predeterminados de Service1. Service4, Service5, Service6 y Service7 se definen en un tercer nivel de la jerarquía y heredan los elementos predeterminados de Service3. Finalmente, Service10 y Service11 están en el cuarto nivel de la jerarquía.

Todos los servicios implementan el contrato IDesc. La siguiente definición corresponde a la interfaz IDesc que muestra los métodos expuestos en esta interfaz. La interfaz IDesc se define en Service1.cs.

    // Define a service contract
    [ServiceContract(Namespace="http://Microsoft.Samples.ConfigHierarchicalModel")]
    public interface IDesc
    {
        [OperationContract]
        List<string> ListEndpoints();
        [OperationContract]
        List<string> ListServiceBehaviors();
        [OperationContract]
        List<string> ListEndpointBehaviors();
    }

La implementación de estos métodos en los servicios es sencilla. ListEndpoints itera a través de todos los extremos de servicio y devuelve una lista de todos los extremos que tiene el servicio. ListServiceBehaviors itera a través de todo los comportamientos agregados al servicio y devuelve la lista de todos los comportamientos asociados al servicio. ListEndpointBehaviors se comporta de una manera similar a ListServiceBehaviors, pero devuelve la lista de comportamientos de extremo en su lugar.

Esta implementación permite al cliente saber cuántos extremos expone el servicio y qué comportamientos de servicio y de extremo se han agregado al servicio. El cliente implementado como parte del ejemplo agrega una referencia de servicio a todos los servicios en la solución y muestra estos elementos para cada uno de los servicios.

Para utilizar este ejemplo

Para ejecutar el cliente

  1. Mediante Visual Studio 2010, abra el archivo ConfigHierarchicalModel.sln.

  2. El proyecto de cliente aún no está configurado como proyecto de inicio; siga estos pasos.

    1. En el Explorador de soluciones, haga clic con el botón secundario en la solución y seleccione Propiedades.

    2. En Properties comunes, seleccione Proyecto de inicio y, a continuación, haga clic en Proyecto de inicio único.

    3. En el cuadro desplegable Proyecto de inicio único, seleccione Cliente.

    4. Haga clic en Aceptar para cerrar el cuadro de diálogo.

  3. Para compilar el ejemplo, presione F6.

  4. Para ejecutar el cliente, presione Ctrl+F5.

Ee663221.note(es-es,VS.100).gifNota:
Si estos pasos no funcionan, asegúrese de que el entorno se ha configurado correctamente mediante los pasos siguientes.

  1. Asegúrese de realizar los Procedimiento de instalación única para los ejemplos de Windows Communication Foundation.

  2. Para compilar la solución, siga las instrucciones de Compilación de los ejemplos de Windows Communication Foundation.

  3. Para ejecutar el ejemplo en una configuración con un único equipo o con varios, siga las instrucciones de Running the Windows Communication Foundation Samples.

Ee663221.Important(es-es,VS.100).gif Nota:
Puede que los ejemplos ya estén instalados en su equipo. Compruebe el siguiente directorio (valor predeterminado) antes de continuar.

<InstallDrive>:\WF_WCF_Samples

Si no existe este directorio, vaya a la página de ejemplos de Windows Communication Foundation (WCF) y Windows Workflow Foundation (WF) Samples para .NET Framework 4 para descargar todos los ejemplos de WF e Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\ConfigHierarchicalModel