Cómo: Habilitar el servicio de perfiles de WCF

Actualización: noviembre 2007

En este tema se muestra cómo configurar el servicio de perfil de ASP.NET en un servidor web para dejarlo disponible a los clientes que utilizan Windows Communication Foundation (WCF). El tema también muestra cómo realizar las siguientes tareas:

Para configurar el servicio de perfil de ASP.NET como un servicio WCF

  1. Si aún no tiene una aplicación web ASP.NET, cree una.

  2. Agregue un archivo de servicio WCF (.svc) al sitio web que contiene la siguiente directiva para hacer referencia a la clase ProfileService:

     [Visual Basic]
    <%@ ServiceHost Language="VB"
    Service="System.Web.ApplicationServices.ProfileService" 
    Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    <%@ ServiceHost Language="C#"
    Service="System.Web.ApplicationServices.ProfileService" 
    Factory="System.Web.ApplicationServices.ApplicationServicesHostFactory" %>
    
  3. Guarde el archivo .svc y ciérrelo.

  4. Especifique la siguiente configuración en el archivo Web.config para configurar el servicio:

    • 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, tal como se muestra en el ejemplo siguiente, 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.

    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.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.ProfileService"
          behaviorConfiguration="MyServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.ProfileService"
            binding="basicHttpBinding" 
            bindingNamespace="https://asp.net/ApplicationServices/v200"/>
        </service>
      </services>
      <serviceHostingEnvironment
        aspNetCompatibilityEnabled="true"/>
      <bindings>
        <basicHttpBinding allowCookies="true">
      </bindings> 
    </system.serviceModel>
    

Para habilitar el servicio de perfil y exponer las propiedades

  1. Si aún no ha definido las propiedades del perfil de la aplicación web, defínalas en el archivo Web.config.

    El ejemplo siguiente muestra la definición de dos propiedades del perfil.

    <system.web>
      <profile> 
        <properties>
          <add name="Birthday" /> 
          <add name="FavoriteColor" />
        </properties> 
      </profile>
    </system.web>
    

    Para obtener más información sobre la definición de propiedades del perfil, vea Definición de las propiedades de perfil ASP.NET.

  2. En el archivo Web.config, habilite el servicio de perfil y marque qué propiedades están disponibles como propiedades de sólo lectura o como propiedades de lectura y escritura.

    En el ejemplo siguiente se muestra cómo habilitar el servicio de perfil y establecer la accesibilidad de las propiedades del perfil.

    <system.web.extensions>
      <scripting>
        <webServices>
          <profileService enabled="true"
            readAccessProperties="Birthday, FavoriteColor"
            writeAccessProperties="Birthday, FavoriteColor" >
        </webServices>
      </scripting>
    </system.web.extensions>
    

Seguridad

Si guarda información confidencial en las propiedades del perfil, tenga acceso al servicio de perfil mediante la Capa de sockets seguros (SSL), utilizando el protocolo HTTPS. También asegúrese de que los datos están almacenados de forma segura. Para obtener más información, vea Proteger las propiedades de perfil. Para obtener más información sobre cómo configurar un servicio WCF para que se ejecute mediante SSL, vea Transport Security. 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 autenticación de Windows Communication Foundation

Información general sobre el servicio de funciones de Windows Communication Foundation

Otros recursos

Configuring Services