Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
Mediante Visual Studio 2010, abra el archivo ConfigHierarchicalModel.sln.
El proyecto de cliente aún no está configurado como proyecto de inicio; siga estos pasos.
En el Explorador de soluciones, haga clic con el botón secundario en la solución y seleccione Propiedades.
En Properties comunes, seleccione Proyecto de inicio y, a continuación, haga clic en Proyecto de inicio único.
En el cuadro desplegable Proyecto de inicio único, seleccione Cliente.
Haga clic en Aceptar para cerrar el cuadro de diálogo.
Para compilar el ejemplo, presione F6.
Para ejecutar el cliente, presione Ctrl+F5.
![]() |
---|
Si estos pasos no funcionan, asegúrese de que el entorno se ha configurado correctamente mediante los pasos siguientes.
|
![]() |
---|
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
|