Como: Instalar e configurar componentes de ativação do WCF

Este tópico descreve as etapas necessárias para configurar o Serviço de Ativação de Processos do Windows (também conhecido como WAS) no Windows Vista para hospedar serviços do Windows Communication Foundation (WCF) que não se comunicam por protocolos de rede HTTP. As seções a seguir descrevem as etapas para essa configuração:

  • Instale (ou confirme a instalação de) os componentes de ativação do WCF.

  • Configure o WAS para suportar um protocolo não-HTTP. O procedimento a seguir configura o Windows Vista para ativação TCP.

Depois de instalar e configurar o WAS, consulte Como hospedar um serviço WCF no WAS para obter os procedimentos para criar um serviço WCF que expõe um ponto de extremidade não-HTTP que emprega o WAS.

Para instalar os componentes de ativação não-HTTP do WCF

  1. Clique no botão Iniciar e, em seguida, clique em Painel de Controlo.

  2. Clique em Programas e, em seguida, clique em Programas e Funcionalidades.

  3. No menu Tarefas, clique em Ativar ou desativar recursos do Windows.

  4. Encontre o nó WinFX, selecione e expanda-o.

  5. Selecione a caixa WCF Non-Http Activation Components e salve a configuração.

Para configurar o WAS para suportar a ativação TCP

  1. Para oferecer suporte à ativação net.tcp, o site padrão deve primeiro ser vinculado a uma porta net.tcp. Você pode fazer isso usando Appcmd.exe, que é instalado com o conjunto de ferramentas de gerenciamento do IIS 7.0. Em uma janela de prompt de comando de nível de administrador, execute o seguinte comando.

    %windir%\system32\inetsrv\appcmd.exe set site "Default Web Site" -+bindings.[protocol='net.tcp',bindingInformation='808:*']
    

    Nota

    Este comando é uma única linha de texto. Este comando adiciona uma ligação de site net.tcp ao site padrão escutando na porta TCP 808 com qualquer nome de host.

  2. Embora todos os aplicativos dentro de um site compartilhem uma ligação net.tcp comum, cada aplicativo pode habilitar o suporte a net.tcp individualmente. Para habilitar net.tcp para o aplicativo, execute o seguinte comando em um prompt de comando de nível de administrador.

    %windir%\system32\inetsrv\appcmd.exe set app
    "Default Web Site/<WCF Application>" /enabledProtocols:http,net.tcp
    

    Nota

    Este comando é uma única linha de texto. Este comando permite que o aplicativo /<WCF Application> seja acessado usando e net.tcp://localhost/<WCF Application>http://localhost/<WCF Application> .

    Remova a ligação de site net.tcp adicionada para este exemplo.

    Como uma conveniência, as duas etapas a seguir são implementadas em um arquivo em lotes chamado RemoveNetTcpSiteBinding.cmd localizado no diretório de exemplo.

    1. Remova net.tcp da lista de protocolos habilitados executando o seguinte comando em uma janela de prompt de comando de nível de administrador.

      %windir%\system32\inetsrv\appcmd.exe set app
      "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
      

      Nota

      Este comando é uma única linha de texto.

    2. Remova a ligação de site net.tcp executando o seguinte comando em uma janela elevada do Prompt de Comando:

      %windir%\system32\inetsrv\appcmd.exe set site "Default Web Site"
      --bindings.[protocol='net.tcp',bindingInformation='808:*']
      

      Nota

      Este comando é uma única linha de texto.

Para remover net.tcp da lista de protocolos habilitados

  1. Para remover net.tcp da lista de protocolos habilitados, execute o seguinte comando em uma janela de prompt de comando de nível de administrador.

    %windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/servicemodelsamples<WCF Application>" " /enabledProtocols:http
    

    Nota

    Este comando é uma única linha de texto.

Para remover a ligação de site net.tcp

  1. Para remover a ligação de site net.tcp, execute o seguinte comando em uma janela de prompt de comando de nível de administrador.

    %windir%\system32\inetsrv\appcmd.exe set site "Default Web Site"
    -bindings.[protocol='net.tcp',bindingInformation='808:*']
    

    Nota

    Este comando é uma única linha de texto.

Consulte também