Exemplo de integração SystemWebRouting
O exemplo WebRoutingIntegration demonstra a integração da camada de hospedagem com as classes no System.Web.Routing namespace. As classes no System.Web.Routing namespace 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 de volta para serviços WCF reais. Isso é útil quando um serviço WCF deve ser hospedado sem exigir um arquivo ou recurso físico, ou quando os serviços devem ser acessados com URLs que não contêm arquivos como .html ou .aspx. Este exemplo demonstra como utilizar a RouteTable classe para criar URIs virtuais que mapeiam para serviços em execução definidos em global.asax.
Nota
As classes no System.Web.Routing namespace só funcionam para serviços hospedados por HTTP.
Este exemplo usa o WCF para criar dois feeds RSS: um movies
feed e um channels
feed. As URLs para ativar os serviços não contêm uma extensão e são registradas no Application_Start
método da Global
classe derivada da HttpApplication classe.
Nota
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 oferecer 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 Web, pressione F5.
Uma listagem de diretório para o exemplo é exibida. Observe que não há arquivos com uma extensão de arquivo .svc.
Na barra de endereço, adicione
movies
ao URL, para que ele leiahttp://localhost:[port]/movies
e pressione ENTER.O feed de filmes aparece no navegador.
Na barra de endereço, adicione
channels
ao URL, para que seja lidohttp://localhost:[port]/channels
e pressione ENTER.O feed de canais aparece no navegador.
Feche o navegador da Web, pressionando ALT+F4.
Se o servidor de desenvolvimento não tiver saído, clique com o botão direito do mouse no ícone da área de notificação e selecione Parar.
Para usar este exemplo quando hospedado no IIS
Usando o Visual Studio, abra o arquivo WebRoutingIntegration.sln.
Crie o projeto, pressionando Ctrl+Shift+B.
Crie um aplicativo Web no Gerenciador dos Serviços de Informações da Internet (IIS).
No Gerenciador do IIS, clique com o botão direito do mouse no Site Padrão e selecione Adicionar um Aplicativo.
Para o alias, digite
WebRoutingIntegration
.Para o Caminho Físico, selecione a pasta Serviço dentro do projeto.
Prima OK.
Inicie o aplicativo, clicando com o botão direito do mouse no aplicativo Web e selecionando Gerenciar aplicativo e, em seguida , Procurar.
Na barra de endereço, adicione
movies
ao URL, para que seja lidohttp://localhost:[port]/movies
e pressione ENTER.O feed de filmes aparece no navegador.
Na barra de endereço, adicione
channels
ao URL, para que seja lidohttp://localhost:[port]/channels
e pressione ENTER.O feed de canais aparece no navegador.
Feche o navegador da Web, pressionando ALT+F4.
Este exemplo demonstra que a camada de hospedagem é capaz de compor com as classes no System.Web.Routing namespace para rotear as solicitações de serviços hospedados por HTTP.
Nota
Você deve atualizar a versão padrão do pool de aplicativos para o .NET Framework 4 se ela estiver definida como a versão 2.