【问题标题】:Fluent Nhibernate and quartz流利的 Nhibernate 和石英
【发布时间】:2009-09-24 20:24:53
【问题描述】:

我正在构建一个 asp.net mvc web 应用程序。我在 asp.net 上下文中运行石英。 我正在为我的 or 映射使用流利的 nhibernate。 我正在构建一个简单的工作,在数据库中写入一个条目。

    public void Execute(JobExecutionContext context)
    {

        ISession session = DataSourceConfiguration.GetSessionFactory().OpenSession();
        session.SaveOrUpdate(new JobLogEntry() { Created = DateTime.Now, Message = "Twitter feed read" });
        session.Close();
        session.Dispose();
    }

    public static ISessionFactory GetSessionFactory()
    {
        return Fluently.Configure()
          .Database(CurrentDataBaseConfiguration)
          .Mappings(m =>
            m.AutoMappings.Add(
              AutoMap.AssemblyOf<Entry>()
                .Where(t => t.Namespace == "QuickBlog.BlogModel.Entities")
            ))
          .BuildSessionFactory(); 
    }

这里是错误发生的地方:

    public static IPersistenceConfigurer CurrentDataBaseConfiguration
    {
        get
        {
            if (_dataBaseConfiguration != null)
                return _dataBaseConfiguration;


                var config = MsSqlConfiguration.MsSql2005
                    .ConnectionString(c => c.FromConnectionStringWithKey("QuickBlogDB"))
                    .UseReflectionOptimizer()
                    .Cache(c => c.Not
                    .UseQueryCache())
                    .ShowSql(); 

                _dataBaseConfiguration = config;


            return _dataBaseConfiguration;
        }
    }

问题在于 c.FromConnectionStringWithKey("QuickBlogDB") 为空或为空。如何获取quartz.net 作业中的配置信息?

【问题讨论】:

  • Quartz 是在 ASP.NET MVC 应用程序的上下文中运行,还是在单独的服务中运行?
  • 它在 asp.net mvc 的上下文中运行。我想访问 web.config 中的连接字符串。

标签: nhibernate quartz-scheduler quartz.net


【解决方案1】:

首先,您可能不应该在工作中创建会话工厂。我建议有一个静态类来保存会话工厂并在早期阶段对其进行初始化,例如应用程序 Application_Start 方法。

它更节省资源(很多),并且更容易调试问题,因为您的应用甚至在配置和前提条件正确之前都不会启动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多