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は以前に接続されたDBへの接続を維持します。
この問題を解決できるのは、IISを再起動することだけです。これがIISでの一種のキャッシングによるものかどうか、誰かが知っていますか?または私が見逃したいくつかの設定?前もって感謝します!