2008-08-17 21 views
5

ASP.NET MVC ha sido discussed en este foro algunas veces. Estoy a punto de hacer una gran migración de de varios sitios web desde ASP/ASP.NET WebForms clásicos a ASP.NET MVC y me preguntaba qué tipo de consejo tienen aquellos con experiencia en ambas tecnologías.Sugerencias para migrar de ASP.NET WebForms a ASP.NET MVC?

Lo que tengo: una aplicación típica de ASP.NET con una lógica de presentación/negocios fuertemente acoplada, todo tipo de subprocesos de Javascript generados por ASP.NET, etc.

Lo que quiero: limpiar marcado agnóstico generado ASP.NET MVC. 'Dijo Nuff.

¿Alguna sugerencia, consejo, truco o truco para tener en cuenta?

Gracias!

Respuesta

2

cualquier puntero, consejos, trucos o trampas a tener en cuenta?

Bueno, creo que usted está probablemente un poco lejos de pensar en trucos & trampas :) Como estoy seguro de que está consciente, ASP.NET MVC no es una versión nueva de ASP.NET, pero un paradigma totalmente diferente de ASP.NET, no estará migrando, estará iniciando un nuevo esfuerzo de desarrollo para reemplazar un sistema existente. Así que tal vez pueda obtener una ventaja sobre la determinación de los requisitos de la aplicación, pero el resto probablemente se reconstruya desde cero.

Según los problemas (muy comunes) que describió en su base de códigos existente, debería considerar aprovechar esta oportunidad para conocer algunas de las mejores prácticas actuales en el diseño de sistemas poco flexibles. Esto es fácil de hacer porque las "mejores prácticas" modernas son fáciles de entender y fáciles de practicar, y existe un enorme apoyo de la comunidad y herramientas de código abierto de alta calidad para ayudar en el proceso.

Estamos trasladando una aplicación ASP/ASP.NET a ASP.NET MVC en este momento también, y esta es la conclusión a la que mi investigación preparatoria me ha llevado, de todos modos.

Here is a post to links on using ASP.NET MVC, pero yo comenzaría por reading this post. La publicación trata sobre NHibernate (una herramienta ORM) en su superficie, pero la discusión y los enlaces tratan sobre cómo obtener los cimientos correctamente y es el resultado de prepararse para portar un sitio ASP.NET a MVC. Algunas de las arquitecturas de referencia vinculadas en esa publicación se basan en ASP.NET MVC. Here is another post about NHibernate, pero en la sección "Mejores prácticas & Aplicaciones de referencia", la mayoría, si no todas, de las aplicaciones de referencia enumeradas son también aplicaciones ASP.NET MVC. Las arquitecturas de referencia pueden ser extremadamente útiles para obtener rápidamente una idea de cómo se podría diseñar un sitio ASP.NET MVC óptimo y sostenible.

3

Guau, no estoy seguro de que ya estemos hablando de migración, ¡la diferencia es más como volver a escribir!


Como otros han dicho, MVC es una nueva forma de construir aplicaciones web - la mayor parte de su código de presentación no va a llevar a través.

Sin embargo, si está reescribiendo en MVC, lo que ya tiene es un buen prototipo. Es probable que su problema sea que sería difícil hacerlo poco a poco; por ejemplo, MVC utiliza el cambio de nombre de la URL desde el primer momento, lo que hace que la vinculación sea bastante desordenada.

Otra pregunta sería ¿por qué? Muchos de nosotros tenemos grandes aplicaciones heredadas que nos gustaría tener en las últimas tecnologías, pero si su aplicación ya está funcionando ¿por qué cambiar?

Si estuviera buscando una nueva aplicación en este momento, MVC sería un candidato muy fuerte, pero no hay una ganancia lo suficientemente grande como para cambiarla tarde en un proyecto.

0

Mi opinión es que las dos tecnologías son tan diferentes que si tiene un código estrechamente acoplado en las aplicaciones originales de Formularios Web, el mejor enfoque es comenzar seleccionando una de ellas y convirtiéndola creando una nueva ASP.NET MVC aplicación y extracción de código en sus respectivas capas. Lo cual lo pondrá en el camino de la reutilización para portar las otras aplicaciones.

1

WebForms puede vivir con controladores MVC en la misma aplicación. De manera predeterminada, el enrutamiento no enruta las solicitudes de archivos que existen en el disco. Entonces, podría comenzar a reescribir partes pequeñas de su sitio a la vez para usar el patrón MVC, y dejar el resto usando WebForms.

Cuestiones relacionadas