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

Visual Studio 2010

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

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

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

Если имя роли может быть использовано пользователем-злоумышленником для доступа к конфиденциальным данным или если имя роли хранится в постоянном файле Cookie, осуществляйте доступ к службе роли с помощью протокола SSL (с использованием HTTPS). Дополнительные сведения о том, как настраивать SSL, см. в разделах Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) и Configuring Secure Sockets Layer in IIS 7.0 на веб-узле корпорации Майкрософт.

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

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

  2. Включите в веб-приложении проверку подлинности в формах. Дополнительные сведения см. в разделе Настройка приложения ASP.NET для использования членства.

  3. Включите роли в веб-приложении. Дополнительные сведения см. в разделе Основные сведения об управлении ролями.

  4. Обеспечьте пользователям возможность входа в веб-приложение.

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

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

  7. Введите следующие параметры конфигурации в файл Web.config для настройки службы и обязательного использования протокола SSL:

    • Включите службу роли в элементе roleService.

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

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

    • Создайте в элементе bindings привязку, требующую использовать протокол SSL. Дополнительные сведения о безопасности транспортировки в WCF см. в разделе Безопасность транспортировки.

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

    <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="http://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>
    

При работе с конфиденциальными данными пользователей, осуществляйте доступ к службам проверки подлинности с помощью протокола SSL (с использованием HTTPS). Дополнительные сведения о том, как настраивать SSL, см. в разделах Configuring Secure Sockets Layer (IIS 6.0 Operations Guide) и Configuring Secure Sockets Layer in IIS 7.0 на веб-узле корпорации Майкрософт.

Показ: