2008-10-17 10 views
23

Tenga en cuenta que esto es nuevo para mí y podría haberme perdido algo importante.La mejor manera de convertir gradualmente un sitio ASP.NET existente a MVC

Tengo un sitio web existente, basado en una aplicación web ASP.NET. Ahora estoy utilizando ASP.NET MVC para un nuevo desarrollo, y tengo la intención de reemplazar gradualmente la mayor parte de las páginas con páginas basadas en MVC.

Tengo dos cuestiones aquí:

1) Tengo que sustituir las páginas poco a poco, porque no puedo convertir todo a la vez. 2) Las URL existentes (de archivos físicos) se deben conservar si es posible.

La forma en que lo veo, tengo las siguientes opciones:

1) Crear una nueva aplicación web MVC marca en la raíz del sitio web, y luego incluyo existente HTML/ASPX/ASMX/... páginas a eso. De esta manera, las rutas son siempre relativas a la raíz del sitio web.

2) Modifique el Global.asax existente, Web.config, Default.aspx (y así sucesivamente) para activar el controlador MVC para el enrutamiento y luego publique mi aplicación MVC en una subcarpeta.

¿Cuál es la forma más fácil de hacerlo, y me falta algo?

Gracias, Laurent

Respuesta

9

Como tú, estoy abordando el mismo problema.Algunas cosas con las que me encontré las publiqué aquí https://stackoverflow.com/users/84825/mouffette y están relacionadas principalmente con SETUP. Lo mejor que puede hacer es comenzar un nuevo proyecto MVC y comparar los archivos y la estructura con su aplicación ASP.NET existente. En caso de duda simplemente muévase línea por línea y web.config y eventualmente lo obtendrá ;-)

Una vez que tenga las tuberías funcionando, puede enfocarse en MVC y simplemente funciona una al lado de la otra.

Estos enlaces también han ayudado:

http://media.wiley.com/assets/1539/15/professionalaspnet35mvc_chapter13.pdf http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf

y ya han encontrado el mejor sitio ... stackoverflow.

1

Realmente depende del estado de su aplicación web existente. Si se trata principalmente de lógica de negocios integrada en tus códigos subyacentes, entonces probablemente estés mejor con una nueva escritura. Si tiene una separación de código realmente decente de sus modelos de objeto de datos y capa de negocio de sus códigos subyacentes, entonces se adelanta al juego en esta transición. Desafortunadamente, esta es una pregunta realmente difícil de responder de manera sucinta y es bastante subjetiva en función de su estado actual.

"Sitio ASP.Net clásico": raro de escuchar.

0

Creo que la pregunta fue mal redactada, porque esto no es lo que quise decir.

Lo que quiero decir es: ¿Cómo puedo integrar páginas basadas en MVC en un sitio ASP.NET "clásico" existente (sí, sé que suena raro :)). Eventualmente reemplazaré todo el contenido (y si eso significa reescribir algunas páginas, que así sea) pero quiero agregar contenido nuevo basado en MVC.

Encontré orientación sobre cómo crear nuevas aplicaciones MVC, e incluso cómo integrar nuevos contenidos basados ​​en formularios web en ella, pero mucho menos acerca de cómo portar una aplicación a MVC gradualmente.

He encontrado este enlace http://blog.eworldui.net/post/2008/05/ASPNET-MVC---Living-in-a-Web-Forms-World.aspx

Esto es prometedor, pero suena como una loooooooot de trabajo.

Específicamente, estoy buscando pasos para agregar contenido nuevo basado en MVC en una aplicación ASP.NET existente, y aún así mantener el contenido anterior para que funcione como antes.

+0

Puede ejecutar un subsitio bajo MVC. – leppie

+0

Lo intenté pero no funciona como me gustaría. Especialmente, todas las referencias relativas están en mal estado. ¿Tienes experiencia y orientación con eso? – LBugnion

Cuestiones relacionadas