Mantendo o caminho de reescrita ISAPI com o ASP.NET TILDE (~)
-
27-09-2019 - |
Pergunta
Minha equipe está atualizando do ASP.NET 3.5 para o ASP.NET 4.0. Atualmente, estamos usando a reescrita do Helicon ISAPI para mapear http://localhost/<account-name>/default.aspx
para http://localhost/<virtual-directory>/default.aspx?AccountName=<account-name>
Onde <account-name>
é uma variável de sequência de consulta e <virtual-directory>
é um diretório virtual (naturalmente).
Antes da atualização, o tilde (~) resolveu http://localhost/<account-name>/...
(o que eu quero fazer) e após a atualização, o Tilde resolve http://localhost/<virtual-directory>/...
o que resulta em um erro porque o <account-name>
String de consulta é necessária.
Eu gostaria de evitar seguir o caminho de substituir tudo por caminhos relativos, porque existem vários recursos em nosso sistema que usam todo o URL em vez de apenas o caminho relativo.
Pelo que vale a pena usar o IIS7 no Windows 7, o Visual Studio 2010 com o ASP.NET 4.0 e o Helicon ISAPI reescrita de 64 bits. Se eu voltar para a versão ASP.NET 3.5, ela ainda funciona bem (levando -me a acreditar que nada mudou no IIS, a menos que esteja dentro do pool de aplicativos 4.0 - quando eu alterno entre 3,5 e 4.0, tenho que alterar o pool de aplicativos no IIS).
Alguma ideia? Desde já, obrigado!
Solução
O IIS 7 possui um suporte de redirecionamento HTTP decente. Portanto, talvez você não precise mais usar esse filtro ISAPI
http://technet.microsoft.com/en-us/library/cc732969(ws.10).aspx
Outra maneira de usar o ISAPI seria usar o redirecionamento do módulo HTTP.
http://weblogs.asp.net/fmarguerie/archive/2004/11/18/265719.aspx