root/UnityWeb/UnityWeb/UnityWeb/Global.asax.cs

8182
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)