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
Usando o Visual Studio, abra o arquivo WebRoutingIntegration.sln.
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.
Na barra de endereços, adicione
movies
à URL para que ela indiquehttp://localhost:[port]/movies
e pressione ENTER.O feed de filmes será exibido no navegador.
Na barra de endereços, adicione
channels
à URL, de modo que ela indiquehttp://localhost:[port]/channels
e pressione ENTER.O feed de canais será exibido no navegador.
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
Usando o Visual Studio, abra o arquivo WebRoutingIntegration.sln.
Compile o projeto pressionando CTRL+SHIFT+B.
Crie um aplicativo Web no Gerenciador do IIS (Serviços de Informações da Internet).
No Gerenciador do IIS, clique com o botão direito do mouse em Site Padrão e selecione Adicionar um Aplicativo.
Em alias, digite
WebRoutingIntegration
.Em Caminho Físico, selecione a pasta Serviço dentro do projeto.
Pressione OK.
Inicie o aplicativo clicando com o botão direito do mouse no aplicativo Web e selecionando Gerenciar Aplicativo e Procurar.
Na barra de endereços, adicione
movies
à URL de modo que ela indiquehttp://localhost:[port]/movies
e pressione ENTER.O feed de filmes será exibido no navegador.
Na barra de endereços, adicione
channels
à URL, de modo que ela indiquehttp://localhost:[port]/channels
e pressione ENTER.O feed de canais será exibido no navegador.
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.