我有一个在 ASP.NET 中实现的 Web 服务。
我在 Global.asax 事件处理程序中实例化我的 NHibernate 会话,如下所示:
protected void Application_BeginRequest(object sender, EventArgs e)
{
NHibernateInitializer.Instance().InitializeNHibernateOnce(
() => InitializeNHibernateSession());
}
private void InitializeNHibernateSession()
{
NHibernateSession.Init(
webSessionStorage,
new string[] { Server.MapPath("~/bin/DAL.Server.Data.dll") },
new AutoPersistenceModelGenerator().Generate(),
Server.MapPath("~/NHibernate.config"));
}
我的问题是,每当我需要更新 NHibernate.config 连接字符串以连接到不同的数据库(出于测试目的,在部署服务器上)时,NHibernate 仍然保持与先前连接的数据库的连接。
只有重新启动 IIS 才能解决此问题。有谁知道这是否是由于 IIS 中的缓存造成的?还是我错过了一些设置?提前致谢!