Pregunta

Acabo de actualizar mi antiguo sistema de URL basado en la asignación de comodines para usar System.Web.Routing. Antes, pude solicitar la URL /Service/GetItems<My.Full.Item.Type>, que se analizó en el otro lado y devolvió exactamente lo que esperaba. Eso estuvo bien.

Ahora con Enrutamiento activado, cualquier solicitud con un < o > en él me devuelve el contenido de '/' en lugar de la página que quería. Incluso si los codifico en% 3C y% 3E, me redirigen a la raíz, independientemente de lo que diga el resto de la URL.

Me gustaría que no tuviera que pasar por mi aplicación cambiando todas las instancias de referencias genéricas intuitivas a la solución improvisada que se me ocurrió: /Service/GetItems/T=My.Full.Item.Type. No es tan agradable tampoco.

¡Gracias a todos!

¿Fue útil?

Solución

Parece que te encuentras con el problema de caracteres restringidos con las URL. Tenga en cuenta que esto no tiene nada que ver con el enrutamiento, sino con ASP.NET que bloquea ciertos caracteres dentro de la URL.

¿Por qué funcionó antes con la reescritura de URL? Lo más probable es que la URL se reescribió para tener esos caracteres en la cadena de consulta antes de que se entregara a ASP.NET.

Hay algunas cosas que puedes probar.

Hay una configuración de registro para permitir caracteres restringidos http://support.microsoft.com/kb/820129

Aquí hay otro artículo de soporte relacionado: http: // support.microsoft.com/default.aspx?scid=kb;EN-US;826437

En ASP.NET 4, estamos planeando hacer esto mucho más fácil de configurar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top