Практическое руководство. Включение службы профилей WCF

Visual Studio 2010

Обновлен: Ноябрь 2007

В данном разделе описаны способы настройки службы профилей ASP.NET на веб-сервере, чтобы разрешить к ней доступ для клиентов, использующих Windows Communication Foundation (WCF). В этом разделе также демонстрируются способы выполнения следующих задач:

  • Определение свойств профиля.

  • Открытие доступа к свойствам профиля посредством службы профилей.

    Bb514968.alert_note(ru-ru,VS.100).gifПримечание.

    Если в свойствах профиля хранятся конфиденциальные данные, доступ к службе профиля разрешен через SSL с использованием протокола HTTPS. Дополнительные сведения о настройке SSL см. в разделе Настройка SSL (Руководство пользователя IIS 6.0) и Настройка SSL в IIS 7.0 на веб-узле Майкрософт.

Настройка службы профиля ASP.NET в качестве службы WCF

  1. Если веб-приложение ASP.NET еще не создано, его необходимо создать.

  2. Добавьте файл службы WCF (SVC-файл) на веб-узел, содержащий следующую директиву, которая будет ссылаться на класс 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. Сохраните SVC-файл и закройте его.

  4. В файле Web.config выполните следующую настройку конфигурации, чтобы настроить службу:

    • Определите контракт конечной точки в элементе services и задайте поведение службы в элементе behaviors. Чтобы предотвратить возникновение исключений в некоторых средствах создания прокси, необходимо включить в контракт конечной точки свойство bindingNamespace, как показано в приведенном ниже примере. Дополнительные сведения о конечных точках WCF см. в разделе Конечные точки Windows Communication Foundation.

    • Настройте элемент serviceHostingEnvironment для обеспечения совместимости с ASP.NET. Дополнительные сведения о службах WCF см. в разделе Службы WCF и ASP.NET.

    В следующем примере показана работа элемента system.serviceModel из файла Web.config, который демонстрирует параметры конфигурации, описанные в предыдущем списке.

    <system.serviceModel>
      <services>
        <service name="System.Web.ApplicationServices.ProfileService"
          behaviorConfiguration="MyServiceTypeBehaviors">
          <endpoint contract=
            "System.Web.ApplicationServices.ProfileService"
            binding="basicHttpBinding" 
            bindingNamespace="http://asp.net/ApplicationServices/v200"/>
        </service>
      </services>
      <serviceHostingEnvironment
        aspNetCompatibilityEnabled="true"/>
      <bindings>
        <basicHttpBinding allowCookies="true">
      </bindings> 
    </system.serviceModel>
    

Включение службы профиля и предоставление свойств

  1. Если свойства профиля для веб-приложения еще не заданы, следует задать их в файле Web.config.

    В следующем примере демонстрируется задание двух свойств профиля.

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

    Дополнительные сведения о задании свойств профиля см. в разделе Определение свойств профиля ASP.NET.

  2. В файле Web.config необходимо включить службу профиля и пометить свойства, доступные с атрибутами "только для чтения" или "чтение и запись".

    В следующем примере показано, как включить службу профиля и открыть доступ к свойствам профиля.

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

При сохранении в свойствах профиля конфиденциальных данных доступ к службе профиля разрешен через SSL с использованием протокола HTTPS. Также следует проверить безопасность хранения данных. Дополнительные сведения см. в разделе Защита свойств профиля. Дополнительные сведения о настройке службы WCF для работы с SSL см. в разделе Безопасность транспорта. Дополнительные сведения о настройке SSL см. в разделе Настройка SSL (Руководство пользователя IIS 6.0) и Настройка SSL в IIS 7.0 на веб-узле Майкрософт.

Показ: