Compartilhar via


Exemplo de integração de SystemWebRouting

O exemplo de WebRoutingIntegration demonstra a integração da camada de hospedagem às classes do namespace System.Web.Routing. As classes do namespace System.Web.Routing permitem que um aplicativo use URLs que não correspondem diretamente a um recurso físico. O uso do roteamento da Web permite que o desenvolvedor crie endereços virtuais para HTTP que são mapeados novamente para serviços WCF reais. Isso é útil quando um serviço WCF precisa ser hospedado sem exigir um recurso ou um arquivo físico ou quando os serviços precisam ser acessados com URLs que não contenham arquivos como .html ou .aspx. Este exemplo demonstra como usar a classe RouteTable para criar URIs virtuais mapeados para serviços em execução definidos em global.asax.

Observação

As classes do namespace System.Web.Routing só funcionam para os serviços hospedados por HTTP.

Este exemplo usa o WCF para criar dois RSS feeds: um feed movies e um feed channels. As URLs usadas para ativar os serviços não contêm uma extensão e são registradas no método Application_Start da classe Global derivada da classe HttpApplication.

Observação

Este exemplo só funciona no IIS (Serviços de Informações da Internet) 7.0 e posterior, pois o IIS 6.0 usa um método diferente para dar suporte a URLs sem extensão.

Para usar este exemplo

  1. Usando o Visual Studio, abra o arquivo WebRoutingIntegration.sln.

  2. Para executar a solução e iniciar o servidor de desenvolvimento na Web, pressione F5.

    Uma listagem de diretório para o exemplo será exibida. Observe que não há arquivos com uma extensão de arquivo .svc.

  3. Na barra de endereços, adicione movies à URL para que ela indique http://localhost:[port]/movies e pressione ENTER.

    O feed de filmes será exibido no navegador.

  4. Na barra de endereços, adicione channels à URL, de modo que ela indique http://localhost:[port]/channels e pressione ENTER.

    O feed de canais será exibido no navegador.

  5. Feche o navegador da Web pressionando ALT + F4.

    Se o servidor de desenvolvimento não tiver sido encerrado, clique com o botão direito do mouse no ícone da área de notificação e selecione Parar.

Para usar este exemplo quando estiver hospedado no IIS

  1. Usando o Visual Studio, abra o arquivo WebRoutingIntegration.sln.

  2. Compile o projeto pressionando CTRL+SHIFT+B.

  3. Crie um aplicativo Web no Gerenciador do IIS (Serviços de Informações da Internet).

    1. No Gerenciador do IIS, clique com o botão direito do mouse em Site Padrão e selecione Adicionar um Aplicativo.

    2. Em alias, digite WebRoutingIntegration.

    3. Em Caminho Físico, selecione a pasta Serviço dentro do projeto.

    4. Pressione OK.

  4. Inicie o aplicativo clicando com o botão direito do mouse no aplicativo Web e selecionando Gerenciar Aplicativo e Procurar.

  5. Na barra de endereços, adicione movies à URL de modo que ela indique http://localhost:[port]/movies e pressione ENTER.

    O feed de filmes será exibido no navegador.

  6. Na barra de endereços, adicione channels à URL, de modo que ela indique http://localhost:[port]/channels e pressione ENTER.

    O feed de canais será exibido no navegador.

  7. Feche o navegador da Web pressionando ALT + F4.

Este exemplo demonstra que a camada de hospedagem tem a capacidade de composição com as classes do namespace System.Web.Routing para rotear as solicitações de serviços hospedados via HTTP.

Observação

Você precisará atualizar a versão padrão do pool de aplicativos para o .NET Framework 4 se ela estiver definida como a versão 2.

Confira também