Roteamento ASP.NET MVC – adicione a extensão .html às rotas

Eu sou muito novo para MVC e Routing e me pediram para modificar um aplicativo para usar URLs diferentes. uma tarefa que é um pouco sobre mim desde que eu não tenho experiência.

ok, vamos falar um pouco de código:

routes.MapRoute( "CategoryBySeName", // Route name "products/{SeName}", // URL with parameters new { controller = "Catalog", action = "CategoryBySeName" } ); 

isso funciona como esperado, mas depois o cliente queria “.html” no final dos caminhos, então eu mudei:

 "products/{SeName}", // URL with parameters 

para:

 "products/{SeName}.html", // URL with parameters 

que falha (página IIS 404 – MapRequestHandler) parece que está tentando carregar um arquivo físico com esse nome em vez de passá-lo para o aplicativo.

Semelhante: Roteamento ASP.NET MVC para iniciar na página html (não respondida, não duplicada)

Você está supondo que um manipulador do IIS provavelmente está pegando a solicitação antes que o MVC esteja correto.

Supondo que o IIS 7: http://technet.microsoft.com/en-us/library/cc770990(v=ws.10).aspx

Você precisa editar o manipulador .html no IIS para usar o ASP.NET.

Você pode encontrá-lo nas propriedades do site na guia do diretório inicial na configuração do aplicativo na seção de mapeamentos do II6.

Algo ao longo das linhas de (versão pode ser diferente): C: \ windows \ microsoft.net \ framework \ v4.0.30319 \ aspnet_isapi.dll é o que você precisa para lidar com os arquivos .html.

Você tem que forçar todos os pedidos através do pipeline do ASP.NET, e você pode fazer isso adicionando apenas esta única linha ao web.config do seu aplicativo:

    

A alteração do pool de aplicativos do Classic para o Integrated corrigiu o problema. obrigado mano por sua ajuda.

Basta adicionar esta seção ao Web.config e todas as solicitações para a rota / {* pathInfo} serão tratadas pelo manipulador especificado, mesmo quando houver pontos em pathInfo. (retirado do exemplo do ServiceStack MVC Host Web.config e desta resposta https://stackoverflow.com/a/12151501/801189 )