Share via


Como: Habilitar o serviço de função do WCF

Este tópico mostra como configurar o serviço de função do ASP.NET em um servidor Web para torná-lo disponível para clientes que usam o Windows Communication Foundation (WCF).

Observação:

Se um nome de função pode ser usado por um usuário mal-intencionado para expor dados confidenciais, ou se o nome da função estiver armazenado em um cookie persistente, acesse o serviço de função sobre a camada soquetes seguros (SSL, usando protocolo HTTPS).Para obter informações sobre como configurar a protocolo SSL, consulte Configurando Secure Sockets camada (guia de operações de IIS 6.0) and Configurando Secure Sockets camada no IIS 7.0 no site da Microsoft.

Para configurar o serviço de função ASP.NET como uma serviço WCF

  1. Se você ainda não tiver um aplicativo ASP.NET, crie um.

  2. Ative autenticação por formulários no aplicativo Web.Para obter mais informações, consulte Configurando um aplicativo ASP.NET para usar associação.

  3. Ative funções no aplicativo Web.Para obter mais informações, consulte Noções básicas sobre gerenciamento de papéis.

  4. Forneça uma maneira para os usuários efetuem login no aplicativo Web.

    Quando você recupera funções através de serviço de função WCF, você também pode registrar usuários através de serviço de autenticação do WCF.Para obter informações adicionais sobre como configurar o serviço de autenticação do WCF, consulte Como: Habilitar o serviço de autenticação do WCF.

  5. Adicione um arquivo de serviço (.svc) ao site da Web que contém a seguinte diretiva para fazer referência à classe 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. Salve o arquivo .svc, e feche-o.

  7. Verifique as configurações a seguir no arquivo Web.config para configurar o serviço e requerer SSL:

    • Ative o serviço de funções no elemento roleService.

    • Defina o contrato de ponto de extremidade no elemento services e o comportamento do serviço no elemento behaviors.Inclua a propriedade bindingNamespace no contrato de ponto de extremidade para impedir que uma exceção em algumas ferramentas de geração de proxy.Para obter mais informações sobre os pontos de extremidade do WCF, consulte Pontos de extremidade do Windows Communication Foundation.

    • Configure o elemento serviceHostingEnvironment de compatibilidade do ASP.NET.Para obter mais informações sobre como hospedar serviços WCF, consulte Serviços WCF e do ASP.NET.

    • Crie uma ligação no elemento bindings que exige SSL.Para obter mais informações sobre segurança de transporte no WCF, consulte Segurança de transporte.

    O exemplo a seguir mostra o elemento system.serviceModel de um arquivo Web.config que mostra as configurações descritas na 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>
    

Segurança

Se você estiver trabalhando com dados confidenciais do usuário, acessar o serviço de autenticação sobre a camada soquetes seguros (SSL, usando protocolo HTTPS).Para obter informações sobre como configurar a protocolo SSL, consulte Configurando Secure Sockets camada (guia de operações de IIS 6.0) and Configurando Secure Sockets camada no IIS 7.0 no site da Microsoft.

Consulte também

Tarefas

Passo a Passo: Usando Serviços de Aplicativos do ASP.NET

Conceitos

Visão geral do serviço de funções Windows Communication Foundation

Outros recursos

Configurando Serviços