Exemple #1
0
 public static void ReleaseHqlSessin(ISession session)
 {
     if (session != null)
     {
         SessionFactoryHolder.ReleaseSession(session);
     }
 }
        public void Setup()
        {
            var supplier = TestSupplier.CreateNaked(session);

            supplier.CreateSampleCore(session);
            client  = TestClient.CreateNaked(session);
            address = client.CreateAddress();
            user    = client.Users.First();
            session.Save(address);
            ServiceContext.GetUserName = () => user.Login;

            var container = new WindsorContainer();

            container.AddComponent("RepositoryInterceptor", typeof(RepositoryInterceptor));
            container.AddComponent("OfferRepository", typeof(IOfferRepository), typeof(OfferRepository));
            container.AddComponent("Repository", typeof(IRepository <>), typeof(Repository <>));
            var holder = new SessionFactoryHolder();

            holder
            .Configuration
            .AddInputStream(HbmSerializer.Default.Serialize(Assembly.Load("Common.Models")));
            container.Kernel.AddComponentInstance <ISessionFactoryHolder>(holder);
            IoC.Initialize(container);
            IoC.Container.Register(
                Component.For <IInforoomOnlineService>()
                .ImplementedBy <InforoomOnlineService>()
                .Interceptors(InterceptorReference.ForType <ContextLoaderInterceptor>())
                .Anywhere,
                Component.For <ContextLoaderInterceptor>(),
                Component.For <IClientLoader>().ImplementedBy <ClientLoader>());

            service = IoC.Resolve <IInforoomOnlineService>();
        }
Exemple #3
0
        public static ISession OpenHqlSession <T>(IDbConnection conn)
        {
            ISessionFactory sessionFactory = SessionFactoryHolder.GetSessionFactory(typeof(T));

            if (conn == null)
            {
                return(sessionFactory.OpenSession());
            }
            return(sessionFactory.OpenSession(conn));
        }
Exemple #4
0
        protected void Application_Start(object sender, EventArgs e)
        {
            try {
                XmlConfigurator.Configure();
                GlobalContext.Properties["Version"] = Assembly.GetExecutingAssembly().GetName().Version;

                ConnectionHelper.DefaultConnectionStringName = "Main";
                var sessionFactoryHolder = new SessionFactoryHolder();
                sessionFactoryHolder
                .Configuration
                .AddInputStream(HbmSerializer.Default.Serialize(typeof(ServiceLogEntity).Assembly))
                .AddInputStream(HbmSerializer.Default.Serialize(typeof(Order).Assembly));

                var container = new WindsorContainer()
                                .AddFacility <WcfFacility>()
                                .Register(
                    Component.For <IInforoomOnlineService>()
                    .Named("InforoomOnlineService")
                    .ImplementedBy(typeof(InforoomOnlineService))
                    .Interceptors(
                        InterceptorReference.ForType <ErrorLoggingInterceptor>(),
                        InterceptorReference.ForType <LoggingInterceptor>(),
                        InterceptorReference.ForType <ContextLoaderInterceptor>(),
                        InterceptorReference.ForType <MonitorExecutingTimeInterceptor>(),
                        InterceptorReference.ForType <UpdateLastAccessTimeInterceptor>(),
                        InterceptorReference.ForType <PermissionCheckInterceptor>())
                    .Anywhere,
                    Component.For <ErrorLoggingInterceptor>(),
                    Component.For <LoggingInterceptor>().Parameters(Parameter.ForKey("ServiceName").Eq("InforoomOnline")),
                    Component.For <PermissionCheckInterceptor>().Parameters(Parameter.ForKey("Permission").Eq("IOL")),
                    Component.For <UpdateLastAccessTimeInterceptor>().Parameters(Parameter.ForKey("Field").Eq("IOLTime")),
                    Component.For <MonitorExecutingTimeInterceptor>(),
                    Component.For <ContextLoaderInterceptor>(),
                    Component.For <IClientLoader>().ImplementedBy <ClientLoader>(),
                    Component.For <LockMonitor>()
                    .Parameters(Parameter.ForKey("TimeOut").Eq("10000")),
                    Component.For <ISessionFactoryHolder>().Instance(sessionFactoryHolder),
                    Component.For <RepositoryInterceptor>(),
                    Component.For(typeof(IRepository <>)).ImplementedBy(typeof(Repository <>)),
                    Component.For <ISecurityRepository>().ImplementedBy <SecurityRepository>(),
                    Component.For <ILogRepository>().ImplementedBy <LogRepository>(),
                    Component.For <IOfferRepository>().ImplementedBy <OfferRepository>());
                IoC.Initialize(container);
                IoC.Resolve <LockMonitor>().Start();
            }
            catch (Exception ex) {
                _log.Error("Ошибка при инициализации InforoomOnlineService", ex);
            }
        }
        public static void Initialize(ISessionFactory factory = null)
        {
            XmlConfigurator.Configure();
            GlobalContext.Properties["Version"] = Assembly.GetExecutingAssembly().GetName().Version;
            SessionFactoryHolder sessionFactoryHolder;

            if (factory == null)
            {
                sessionFactoryHolder = new SessionFactoryHolder(ConnectionHelper.GetConnectionName());
                var cfg = sessionFactoryHolder.Configuration;
                Map(cfg);
            }
            else
            {
                sessionFactoryHolder = new SessionFactoryHolder(factory);
            }

            IoC.Container.Register(
                Component.For <Service>().Interceptors(
                    InterceptorReference.ForType <ErrorLoggingInterceptor>(),
                    InterceptorReference.ForType <LoggingInterceptor>(),
                    InterceptorReference.ForType <ContextLoaderInterceptor>(),
                    InterceptorReference.ForType <PermissionCheckInterceptor>(),
                    InterceptorReference.ForType <UpdateLastAccessTimeInterceptor>(),
                    InterceptorReference.ForType <MonitorExecutingTimeInterceptor>()).Anywhere,
                Component.For <ErrorLoggingInterceptor>(),
                Component.For <ContextLoaderInterceptor>(),
                Component.For <LoggingInterceptor>()
                .Parameters(Parameter.ForKey("ServiceName").Eq("Amp")),
                Component.For <PermissionCheckInterceptor>()
                .Parameters(Parameter.ForKey("Permission").Eq("IOL")),
                Component.For <UpdateLastAccessTimeInterceptor>()
                .Parameters(Parameter.ForKey("Field").Eq("IOLTime")),
                Component.For <MonitorExecutingTimeInterceptor>(),
                Component.For <LockMonitor>()
                .Parameters(Parameter.ForKey("TimeOut").Eq("10000")),
                Component.For <IClientLoader>().ImplementedBy <ClientLoader>(),
                Component.For <ISessionFactory>().Instance(sessionFactoryHolder.SessionFactory),
                Component.For <ISessionFactoryHolder>().Instance(sessionFactoryHolder),
                Component.For <RepositoryInterceptor>(),
                Component.For(typeof(IRepository <>)).ImplementedBy(typeof(Repository <>)),
                Component.For <ISecurityRepository>().ImplementedBy <SecurityRepository>(),
                Component.For <ILogRepository>().ImplementedBy <LogRepository>());

            ServiceContext.GetUserName = () => ServiceContext.NormalizeUsername(HttpContext.Current.User.Identity.Name);
            ServiceContext.GetHost     = () => HttpContext.Current.Request.UserHostAddress;
            IoC.Resolve <LockMonitor>().Start();
        }
 public void Setup()
 {
     service = new localhost.InforoomOnlineService();
     user    = session.Query <TestUser>().FirstOrDefault(u => u.Login == userName);
     if (user == null)
     {
         user       = TestClient.CreateNaked(session).Users[0];
         user.Login = "******";
         session.Save(user);
     }
     else if (user.AssignedPermissions.Count == 0)
     {
         user.AssignedPermissions.AddEach(session.Query <TestUserPermission>());
         session.Save(user);
     }
     session.Transaction.Commit();
     sessionFactoryHolder = new SessionFactoryHolder();
     sessionFactoryHolder.Configuration.AddInputStream(HbmSerializer.Default.Serialize(Assembly.Load("Common.Service")));
 }
 public static void SetupNhibernateSessionFactory()
 {
     SessionFactoryHolder.SetupNhibernateSessionFactory();
 }