tutorial pages net mvc entre diferencias asp .net asp.net asp.net-mvc webforms

.net - pages - web forms c#



Sugerencias para migrar de ASP.NET WebForms a ASP.NET MVC? (4)

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

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

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

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

¡Gracias!


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

Bueno, creo que probablemente estés un poco lejos de pensar en trucos y trampas :) Como estoy seguro de que sabes, ASP.NET MVC no es una nueva versión de ASP.NET, sino 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 para la aplicación, pero el resto probablemente se reconstruya desde cero.

En función de los problemas (muy comunes) que describió en su base de códigos existente, debería considerar aprovechar esta oportunidad para aprender algunas de las mejores prácticas actuales en el diseño de sistemas débilmente acoplados. 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 moviendo 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.

Aquí hay una publicación de enlaces sobre el uso de ASP.NET MVC , pero comenzaría leyendo esta publicación . 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. Aquí hay otra publicación sobre NHibernate , pero en la sección de "Mejores Prácticas y Aplicaciones de Referencia", la mayoría, si no todas, las aplicaciones de referencia listadas 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.


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 aplicación ASP.NET MVC y arrancando código en sus respectivas capas. Lo cual lo pondrá en el camino de la reutilización para portar las otras aplicaciones.


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.


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

Como otros también han dicho, MVC es una forma completamente nueva de crear aplicaciones web: la mayor parte de su código de presentación no se transmitirá.

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.