Tutti,Unity Lifetime Managers & EF Contesto Dati -> Best Practice
C'è stato un sacco di post su Unity gestori vita, ma devo ancora trovare qualcuno affermare una buona regola per "in questi casi dovresti sempre usare X ". Lasciatemi descrivere la mia applicazione, ho un'applicazione Web ASP.NET MVC 4. Ho una soluzione di Visual Studio contenente 3 progetti, il mio progetto "Core" che contiene tutti i miei materiali EF, un progetto di test e il MVC Web Project. Sto usando l'Unità per l'iniezione di dipendenza e hanno il seguente codice in questo momento:
// Context
container.RegisterType<IDatabaseFactory, DatabaseFactory>(
new ContainerControlledLifetimeManager();
container.RegisterType<UnitOfWork>(
new ContainerControlledLifetimeManager());
Tuttavia, sto notando che il mio contesto non viene ricreata con ogni nuova richiesta web che è quello che penso che vorrei (mi permetta so se ho torto in quell'ipotesi). Sto avendo difficoltà a analizzare tutte le informazioni dai siti elencati di seguito e ho letto su un sacco di persone che creano la loro classe chiamata PerHttpRequestLifetimeManager per gestire questo.
Quale è veramente la migliore pratica qui?
- gestori Lifetime comprensione da parte di Microsoft Developer Network - http://msdn.microsoft.com/en-us/library/ff660872(v=PandP.20).aspx
- MVC DI & unità con Lifetime Manager tramite CodeProject - http://www.codeproject.com/Articles/424743/MVC-DI-Unity-with-Lifetime-Manager
- ASP.NET MVC Suggerimento: Dependency Injection con Unity Application Block via Blog di Shiju Varghese - http://weblogs.asp.net/shijuvarghese/archive/2008/10/24/asp-net-mvc-tip-dependency-injection-with-unity-application-block.aspx
- MVC, EF - Istanza singleton DataContext Richiesta-Per-Web in Unity tramite Overflow dello stack - MVC, EF - DataContext singleton instance Per-Web-Request in Unity
- Inject same DataContex t istanza su più tipi con Unity tramite Stack Overflow - Inject same DataContext instance across several types with Unity
Correlato: http://stackoverflow.com/questions/10585478/one-dbcontext-per-web-request-why. – Steven