Pregunta

En un proyecto reciente, construí mi propio marco MVC en PHP.Una de las cosas que implementé fue un sistema de enrutamiento.Utilicé mod_rewrite de Apache para enviar todas las solicitudes a index.php y luego analicé el URI para extraer información y enrutar la solicitud.

Estoy incursionando en ASP.NET ahora y me pregunto si y cómo podría realizar algo similar.¿Hay alguna manera de enrutar todas las solicitudes (similar a la forma en que lo hace WordPress) a una página donde se realiza el procesamiento de ruta central?Conozco el marco MVC para ASP.NET, pero me gustaría intentarlo yo mismo mientras estoy experimentando y aprendiendo.

EDITAR:Por cierto, mi proveedor de hosting ejecuta IIS 6

¿Fue útil?

Solución

Esta será una respuesta larga, porque quiero asegurarme de que usted sea plenamente consciente de todas las formas en que puede lograr lo que quiere hacer.

El motor de enrutamiento que impulsa ASP.NET MVC Framework funcionará con el ASP.NET Framework tradicional.Puede aprovechar el uso de RouteTable y asignar rutas, tal como lo haría en una aplicación ASP.NET MVC.Simplemente no obtienes la parte MVC en los sitios ASP.NET tradicionales.Esa fue una gran mejora para ASP.NET Framework y fue fantástico verlos reutilizar ese código y hacerlo funcionar en ambos marcos.Si desea obtener más información sobre esto, consulte ScottGu. correo y desplácese hacia abajo hasta Mejoras en el enrutamiento de URL.También aquí hay un referencia sobre cómo utilizar System.Web.Routing en WebForms por Phil Haack.

Ahora, si todavía quieres escribir el tuyo propio.Necesitará aprender la canalización HTTP de ASP.NET y cómo implementar la Módulo IHttp y el IHttpHandler interfaces para crear su propia clase HttpModule o HttpHandler para manejar su enrutamiento.Estas interfaces son la clave para escribir su propio motor de enrutamiento.Para ayudar a poner esas interfaces en un ejemplo funcional, no podría recomendar esto artículo de MSDN suficiente.Le muestra cómo hacerlo con cualquiera de las interfaces y explica las diferencias al crear su propio motor de enrutamiento/reescritura de URL.

Ahora, si descubre que esto podría ser demasiado para usted.Hay bibliotecas de terceros que puede utilizar para personas que ya escribieron un motor de enrutamiento/reescritura de URL en .NET.Aquí hay una pregunta que vi no hace mucho: "¿Qué reescritor de URL utilizas para ASP.Net?" aquí mismo en SO.

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