Cómo: Habilitar el servicio de funciones de WCF
Actualización: noviembre 2007
En este tema se muestra cómo configurar el servicio de función de ASP.NET en un servidor web para dejarlo disponible a los clientes que utilizan Windows Communication Foundation (WCF).
Nota: |
---|
Si un usuario malintencionado podría utilizar un nombre de función para revelar información confidencial, o si el nombre de la función está almacenado en una cookie persistente, tenga acceso al servicio de función mediante la Capa de sockets seguros (SSL), utilizando el protocolo HTTPS. Para obtener más información sobre cómo configurar SSL, vea Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) y Configuring Secure Sockets Layer in IIS 7.0 en el sitio web de Microsoft. |
Para configurar el servicio de función de ASP.NET como un servicio WCF
Si aún no tiene una aplicación web ASP.NET, cree una.
Habilite la autenticación de formularios en la aplicación web. Para obtener más información, vea Configurar una aplicación ASP.NET para utilizar la suscripción.
Habilite las funciones en la aplicación web. Para obtener más información, vea Descripción de la administración de funciones.
Proporcione un modo mediante el cual los usuarios puedan iniciar sesión en la aplicación web.
Al recuperar las funciones a través del servicio de función WCF, también puede hacer que los usuarios inicien sesión a través del servicio de autenticación de WCF. Para obtener información sobre cómo configurar el servicio de autenticación de WCF, vea Cómo: Habilitar el servicio de autenticación de WCF.
Agregue un archivo de servicio (.svc) al sitio web que contiene la siguiente directiva para hacer referencia a la clase RoleService:
<%@ ServiceHost Language="VB" Service="System.Web.ApplicationServices.RoleService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %> <%@ ServiceHost Language="C#" Service="System.Web.ApplicationServices.RoleService" Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
Guarde el archivo .svc y ciérrelo.
Especifique la siguiente configuración en el archivo Web.config para configurar el servicio y exigir el uso de SSL:
Habilite el servicio de función en el elemento roleService.
Defina el contrato de punto final en el elemento services y el comportamiento del servicio en el elemento behaviors. Incluya la propiedad bindingNamespace en el contrato de punto final para evitar que se produzca una excepción en algunas herramientas de generación de proxy. Para obtener más información sobre los puntos finales de WCF, vea Windows Communication Foundation Endpoints.
Configure el elemento serviceHostingEnvironment para permitir la compatibilidad con ASP.NET. Para obtener más información sobre cómo hospedar servicios WCF, vea WCF Services and ASP.NET.
Cree un enlace en el elemento bindings que exija el uso de SSL. Para obtener más información sobre la seguridad del transporte en WCF, vea Transport Security.
En el ejemplo siguiente se muestra el elemento system.serviceModel de un archivo Web.config que muestra los valores de configuración descritos en la lista anterior.
<system.web.extensions> <scripting> <webServices> <roleService enabled="true"/> </webServices> </scripting> </system.web.extensions> <system.serviceModel> <services> <service name="System.Web.ApplicationServices.RoleService" behaviorConfiguration="ApplicationServiceTypeBehaviors"> <endpoint contract= "System.Web.ApplicationServices.RoleService" binding="basicHttpBinding" bindingConfiguration="userHttps" bindingNamespace="https://asp.net/ApplicationServices/v200"/> </service> </services> <bindings> <basicHttpBinding> <binding name="userHttps"> <security mode="Transport" /> </binding> </basicHttpBinding> </bindings> <behaviors> <serviceBehaviors> <behavior name="ApplicationServiceTypeBehaviors"> <serviceMetadata httpGetEnabled="true"/> </behavior> </serviceBehaviors> </behaviors> <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/> </system.serviceModel>
Seguridad
Si trabaja con información confidencial del usuario, tenga acceso al servicio de autenticación mediante la Capa de sockets seguros (SSL), utilizando el protocolo HTTPS. Para obtener más información sobre cómo configurar SSL, vea Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) y Configuring Secure Sockets Layer in IIS 7.0 en el sitio web de Microsoft.
Vea también
Tareas
Tutorial: Usar servicios de aplicación ASP.NET
Conceptos
Información general sobre el servicio de funciones de Windows Communication Foundation