root/UnityWeb/UnityWeb/UnityWeb/Global.asax.cs
| 81 | 82 | ||
|---|---|---|---|
2 | 2 | ||
3 | using System; | 3 | using System; |
4 | using System.Web; | 4 | using System.Web; |
5 | using Microsoft.Practices.Unity; | 5 | using Modules.EmployeeManagement.View; |
6 | using Modules.Base; | ||
7 | using Modules.EmployeeManagement; | ||
8 | using Modules.Unity; | 6 | using Modules.Unity; |
9 | using Repository.NHibernateDataAccess; | ||
10 | using Repository.NHibernateDataAccess.Conversation; | ||
11 | using Repository.NHibernateDataAccess.Providers; | ||
12 | using Repository.NHibernateDataAccess.Providers.Interfaces; | ||
13 | using StructureMap; | 7 | using StructureMap; |
14 | using StructureMap.Attributes; | ||
15 | 8 | ||
16 | #endregion | 9 | #endregion |
17 | 10 | ||
... | ... | ||
21 | { | 14 | { |
22 | protected void Application_Start(object sender, EventArgs e) | 15 | protected void Application_Start(object sender, EventArgs e) |
23 | { | 16 | { |
24 | Application.GetContainer() | 17 | ObjectFactory.Initialize(factory => |
25 | // presenters / controllers / data providers are per request | 18 | { |
26 | .RegisterType<IEmployeeController, EmployeeController>(new ContextLifetimeManager<IEmployeeController>()) | 19 | factory.AddRegistry<StructureMapRegistery>(); |
27 | .RegisterType<IEmployeeDataProvider, EmployeeDataProvider>(new SessionLifetimeManager<IEmployeeDataProvider>()) | 20 | //factory.SetAllProperties( |
28 | 21 | // policy => policy.OfType<EmployeePresenter>()); | |
29 | //Business Conversation is per session | 22 | } |
30 | .RegisterType<IConversation, Conversation>(new SessionLifetimeManager<IConversation>()) | 23 | ); |
31 | |||
32 | //Session Factory is life time | ||
33 | .RegisterType<INHibernateSessionManager, NHibernateSessionManager>(new ContainerControlledLifetimeManager()) | ||
34 | ; | ||
35 | |||
36 | //ObjectFactory.Initialize(factory => | ||
37 | |||
38 | // { | ||
39 | // //factory.AddRegistry<StructureMapRegistery>(); | ||
40 | // //factory.SetAllProperties( | ||
41 | // // policy => policy.NameMatches(name => name == "Presenter")); | ||
42 | |||
43 | // //factory.ForRequestedType<IEmployeeController>().TheDefaultIsConcreteType<EmployeeController>().CacheBy(InstanceScope.Hybrid); | ||
44 | // //factory.ForRequestedType<IEmployeeDataProvider>().TheDefaultIsConcreteType<EmployeeDataProvider>().CacheBy(InstanceScope.Hybrid); | ||
45 | |||
46 | // //Business Conversation is per session | ||
47 | // factory.ForRequestedType<IConversation>().TheDefaultIsConcreteType<Conversation>() | ||
48 | // //.CacheBy(InstanceScope.HttpSession) | ||
49 | // ; | ||
50 | |||
51 | // //Session Factory is life time | ||
52 | // factory.ForRequestedType<INHibernateSessionManager>().TheDefaultIsConcreteType<NHibernateSessionManager>().CacheBy(InstanceScope.Singleton); | ||
53 | // } | ||
54 | // ); | ||
55 | |||
56 | //var conversation = ObjectFactory.GetInstance<IConversation>(); | ||
57 | } | 24 | } |
58 | 25 | ||
59 | protected void Session_Start(object sender, EventArgs e) | 26 | protected void Session_Start(object sender, EventArgs e) |
Download diff