asp.net-mvc-3 - injection - web api 2 unity dependency resolver
Structuremap, AutoFac o Ninject, ¿cuál es ideal para una aplicación web a gran escala? (5)
Creo que no hay diferencias entre ellos! Está asociado a ti mismo. Cada cuerpo tiene algunos favoritos, y tú también. Utilizo StructureMap
y es lo suficientemente bueno para aplicaciones de gran escala y / o pequeña escala.
ACTUALIZAR:
Bueno, hace unos meses me reuní con Simple Injector, que es realmente simple y realmente rápido. Lo he usado en varios proyectos con diferentes escalas, y realmente funciona perfectamente.
Tengo algo de experiencia en el trabajo de Structuremap
. Y ahora estoy creando una aplicación web a gran y gran escala (en realidad, un sitio de redes sociales) utilizando ASP.NET MVC 3
, Entity Framework 4.1 code-first
, SqlServer 2008
, a través de C#.NET 4
. ¿Cuál de Structuremap
, AutoFac
y Ninject
me sugeriría usar en este caso? El rendimiento y la facilidad de uso son importantes. Gracias a cualquier ayuda, idea y sugerencia.
Este artículo tiene un buen resumen de los marcos IoC más populares y analiza su rendimiento y facilidad de uso. En general, una gran lectura!
http://philipm.at/2011/di_speed.html
& un seguimiento en http://philipm.at/2011/di_speed_redux.html
He usado Unity (hace algún tiempo), AutoFac y StructureMap y prefiero StructureMap, específicamente por su método AssertConfigurationIsValid
que uso en pruebas unitarias para, bueno, afirmar que mi configuración de StructureMap es válida (relevante si está usando constructor basado en constructor DI).
Por lo que sé, solo StructureMap ofrece este servicio.
Cuando utilizo ASP.NET MVC, también me gusta cómo el paquete de NuGet de StructureMap lo hace muy bien.
Si está interesado en CÓMO se utilizan en aplicaciones web a gran escala, una buena para ver es OrchardCMS; Utiliza Autofac.
Solo he visto / usado Ninject y simplemente no me he molestado en mirar a otros. La simplicidad de uso y su baja curva de aprendizaje se adaptan muy bien a mis últimos proyectos. En mi opinión, es un gran contenedor de IoC para proyectos grandes y pequeños.