Pregunta

Conozco a mucha gente que realmente disfruta de las mejoras que ASP.NET MVC 2 realizó con respecto a la primera versión.Acabo de comenzar a migrar nuestro proyecto MVC 1 y hasta ahora las áreas han limpiado por completo el desorden de subcarpetas que teníamos en nuestra aplicación a gran escala.A medida que profundizo en todas las mejoras y cambios que se realizaron, sigo pensando que sería bueno si tuvieran x en esta versión.Por ejemplo, me encantaría que tuvieran algún tipo de inyección de dependencia incorporada en lugar de tener que utilizar soluciones de terceros.

Mi verdadera pregunta es ahora que ASP.NET MVC 2 está disponible, ¿qué características quiere/deseo que el equipo haya implementado y espero que implementen para ASP.NET MVC 3?

EDITAR

¡Parece que la inyección de dependencia está integrada en la primera versión preliminar de ASP.NET MVC 3!Me gustan las funciones agregadas hasta ahora. ¡La vista previa uno de ASP.NET 3 ya está disponible!

¿Fue útil?

Solución

Creo que MVC 3 no será demasiado dramático con sus mejoras, pero sí más constante y gradual.

El Hoja de ruta de ASP.NET MVC 3 tiene una instantánea de lo que aparentemente el equipo está buscando implementar en la próxima versión y algunos de los puntos son muy interesantes.

Creo que mis favoritos de esa lista probablemente serían:

  • Más ayudantes de AJAX:Esto alineará más el marco con el mundo de los formularios web, que ya cuenta con todos estos ayudantes y, hasta cierto punto, actúa como una barrera para que algunas personas adopten la plataforma.
  • Más cosas sobre inyección de dependencia: para aquellos que lo quieran, esto es genial.:)
  • La compatibilidad mejorada con el almacenamiento en caché es la gran victoria para mí.Tener eso integrado en el marco sería un gran beneficio y podría generar importantes ahorros de rendimiento.
  • Los atributos de validación adicionales tampoco se perderían.Si bien la posibilidad de agregarlos es excelente, una buena biblioteca de los más comunes, como Email y PropertiesMustMatch, etc.

Otros consejos

Me gustaría que la eliminación completa de los todos cuerdas mágicas.

Realmente desearía que agregaran lo siguiente:

  1. Condicionales y bucles de estilo Spark que utilizan atributos de etiquetas html.
  2. Actualizado:Propiedad de proyecto visible para alternar la validación de vistas en tiempo de compilación.
  3. Algo para verificar/validar que mis rutas sean correctas.
  4. Solución de proveedor de membresía que utiliza int en lugar de Guid para la identificación y permite asignar campos de perfil a una tabla personalizada en lugar del valor predeterminado genérico pero lento.
  5. Ayudantes basados ​​en Lambda para evitar hilos mágicos (actualmente en MvcFutures)
  6. Plantilla T4MVC para generar automáticamente ayudas fuertemente tipadas
  7. Asistentes o plantillas de proyectos para obtener una plantilla que ya esté configurada para IoC y cuestiones similares, preferiblemente con un cuadro de diálogo de selección para elegir qué marco usar para IoC, pruebas unitarias, etc.
  8. Atributos adicionales (tanto filtros como validación).

Hmmm, eso es todo lo que puedo pensar ahora mismo :)

Herramientas (T4 plantillas) para crear objetos Moq para las pruebas unitarias serían muy fresco. Las pruebas para detectar ciertos objetos en el marco se complica innecesariamente, y tener la capacidad de código de generación de algo de esto sería muy beneficioso.

Me gustaría:

Estampación

  • Una vista de listado alternativa usando ajax p.ej.usando jqGrid (implementando clasificación, paginación, búsqueda)
  • Mejoras en las páginas CRUD detectar relaciones de entidades para clases de marco de entidades y utilizar otro conjunto de componentes basados ​​en el tipo de campos, p.tal como lo hacen los datos dinámicos:)

Como ASP.net MVC 3 será .net 4 solamente, me gustaría ver un poco de materia alrededor de controladores asíncronos y los demás nuevos asíncrono / multithreading .net funciones que trae 4.

Me gustaría ver una función de soporte para cosas como IronRuby

apoyo MEF sería bueno.

Me gustaría ver una nueva manera de manejar el enrutamiento, para hacer más fácil a los servicios REST desarrollador. Actualmente tengo rutas como esta:

context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Get" },
                 new { httpConstraint = new HttpMethodConstraint("GET") });


context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Insert" },
                 new { httpConstraint = new HttpMethodConstraint("POST") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Update" },
                 new { httpConstraint = new HttpMethodConstraint("PUT") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Delete" },
                 new { httpConstraint = new HttpMethodConstraint("DELETE") });

Para una nueva persona con ASP.NET MVC, es muy poco intuitivo para crear objetos anónimos para manejar el enrutamiento. Me gustaría ver que revisó a algo como esto (y ya que estamos usando C # 4.0):

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Get",
                 httpMethodConstraint: HttpMethodConstraint.GET
                );

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Insert",
                 httpMethodConstraint: HttpMethodConstraint.POST
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Update",
                 httpMethodConstraint: HttpMethodConstraint.PUT
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Delete",
                 httpMethodConstraint: HttpMethodConstraint.DELETE
                );

Esto haría más fácil de encontrar también.

Me gustaría que los ayudantes vistas de índice automáticamente andamio. Tal vez algo como IndexDisplay(), IndexDisplayFor() y IndexDisplayForModel().

Me gustaría que las plantillas para las clases de amigos generar automáticamente en cualquier modelo dado.

También usar la función de la simplicidad como la mayoría de cosas sin ayudante tales como html-helper cosa i que el desarrollo en asp.net MVC 3 es una mejor manera de aprender MVC 3 en el futuro.

Las dos cosas que me gustaría ver la mayoría son de inyección directa dependencia de las vistas, filtros, etc., y (sé que esto es supuestamente en el camino con el motor de vistas Razor) es ser capaz de probar mis puntos de vista en el aislamiento de la tubería ASP.Net (quizás incluyendo la validación de tipo de documento y / o algún tipo de JavaScript compilar / validación).

Aquí están algunas otras ideas:

  • Sería bueno para ser capaz de empaquetar un componente de interfaz de usuario (vistas, plantillas, modelos de vista, etc.) para su reutilización a través de múltiples proyectos. Supongo que esto es posible en la actualidad alguna manera, pero yo no lo necesito lo suficiente como para averiguarlo yo mismo.
  • La idea de acciones sin controlador me intriga, sobre todo desde el punto de vista de SRP.
  • Mejor soporte para el patrón posterior a la redirección-get (P / R / G) ... sólo parece que no debe haber apoyo intrínseco a este importante patrón.

más controles y ayudantes serían muy agradable, especialmente un (Ajax) de rejilla.

Me gustaría ver las áreas conjunto de soporte (me refiero a muchos conjuntos con diferentes áreas) + carga dinámica, algo así como plugins.

Editar: Y tenemos hoy previsualización 1: http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

feliz a nadie? :>

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