Activación basada en la configuración

En este ejemplo se muestra cómo activar los servicios de Windows Communication Foundation (WCF) sin requerir un archivo .svc.

Dd807499.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 y Windows Communication Foundation (WCF). Este ejemplo se encuentra en el siguiente directorio.

<InstallDrive>:\WF_WCF_Samples\WCF\Basic\Services\Hosting\ConfigBasedActivation

Detalles del ejemplo

En este ejemplo, el cliente es el cliente de prueba de WCF y el servicio se hospeda en IIS.

Dd807499.note(es-es,VS.100).gifNota:
El procedimiento de instalación y las instrucciones de compilación de este ejemplo se encuentran al final de este tema.

Activación de servicios sin necesidad de un archivo .svc

En .NET Framework 3,5, se necesitaba un archivo .svc para activar un servicio. Esto ocasionaba sobrecarga de administración adicional, porque era necesario implementar y mantener un archivo adicional junto con la aplicación. Con la versión de .NET Framework versión 4, los componentes de activación se pueden configurar utilizando el archivo de configuración de la aplicación.

.NET Framework 4 incluye un nuevo elemento de configuración (ServiceActivationElement), en ServiceHostingEnvironmentSection del archivo de configuración de la aplicación. La colección de ServiceHostingEnvironmentSection acepta una colección de servicios para activar, como se muestra en el siguiente ejemplo de código.

<serviceActivations>
   <add relativeAddress="Calculator.svc" service="Microsoft.ServiceModel.Samples.CalculatorService" />


<serviceActivations>

Es preciso tener en cuenta una observación: la configuración parece muy similar a la configuración de archivos .svc. Se incluye un atributo adicional, relativeAddress, que proporciona la dirección del servicio. La dirección relativa también es la ruta de acceso virtual del servicio. El host recupera el archivo Web.config del archivo de la ubicación virtualPath, si está presente; de lo contrario, el host busca de forma recursiva en su carpeta primaria.

Dd807499.note(es-es,VS.100).gifNota:
En este ejemplo se requiere que funcione el hospedaje en IIS.

Para utilizar este ejemplo

  1. Mediante Visual Studio 2010, abra el archivo Service.csproj.

  2. Presione F6 para compilar la solución.

  3. Pruebe el servicio ejecutando WCFTestClient.exe.

  4. Mediante el Explorador de Windows, navegue a la carpeta %SystemDrive%\Archivos de programa\Microsoft Visual Studio 10.0\Common7\IDE.

  5. Ejecute WcfTestClient.exe.

  6. Establezca la dirección MEX del servicio.

  7. Presione CTRL+MAYÚS+A para establecer la dirección de servicio.

  8. Establezca la dirección en https://localhost/ServiceModelSamples/Calculator.svc.

  9. Realice la operación Add. Establezca el valor del parámetro n1 en 10 y el valor del parámetro n2 en 15.

  10. Presione Invocar.

    El resultado esperado es 25.

Para configurar, compilar y ejecutar el ejemplo

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

  2. Para compilar el código de la edición .NET de C# o Visual Basic de la solución, siga las instrucciones de Compilación de los ejemplos de Windows Communication Foundation.

  3. Una vez compilada la solución, ejecute Setup.bat para configurar la aplicación ServiceModelSamples en IIS. El directorio ServiceModelSamples debería aparecer ahora como una aplicación IIS.

  4. 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.