Vigas em URLs de roteamento com 3,5 WebForms
-
06-07-2019 - |
Pergunta
Eu acabei de atualizar meu sistema URL velho mapeamento de curinga base para uso System.Web.Routing
. Antes, eu era capaz de solicitar a /Service/GetItems<My.Full.Item.Type>
URL, que foi analisado no outro lado e voltou exatamente o que você esperaria. Que foi arrumado.
Agora, com roteamento, qualquer solicitação com um '/'
em vez da página que eu queria. Mesmo se eu codificar estes para% 3C e 3E% I redirecionado para a raiz, independentemente do que o resto do URL diz.
Eu gostaria que se eu não tivesse que passar por minha aplicação mudar todas as instâncias de referências genéricas intuitivas para a solução improvisada que eu vim acima com: /Service/GetItems/T=My.Full.Item.Type
. Não tão bom, qualquer um.
Obrigado a todos!
Solução
Parece que você está correndo para o problema caracteres restrito com URLs. Note que isso não tem nada a ver com roteamento, mas com ASP.NET bloqueando certos caracteres dentro da URL.
Por que trabalhar antes com Reescrever URL? Muito provavelmente porque o URL foi reescrito para ter esses caracteres na string de consulta antes de ser entregue ao ASP.NET.
Há algumas coisas que você pode tentar.
Não há uma configuração de registro para permitir caracteres restritos http://support.microsoft.com/kb/820129
Aqui está outro artigo de suporte que está relacionado: http: // support.microsoft.com/default.aspx?scid=kb;EN-US;826437
Em ASP.NET 4, estamos planejando fazer isso muito mais fácil de configurar.