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>(); }
public static ISession OpenHqlSession <T>(IDbConnection conn) { ISessionFactory sessionFactory = SessionFactoryHolder.GetSessionFactory(typeof(T)); if (conn == null) { return(sessionFactory.OpenSession()); } return(sessionFactory.OpenSession(conn)); }
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(); }