我目前有一个ASP.NET MVC项目,在S#ARP体系结构和NHIBERNATE的顶部建立。我目前有一个单独的nhibernate.config文件,用于我的NHIBERNATE配置。我正在考虑将其移至web.config,因为我希望能够更新我的NHIBERNATE配置并(有效)立即生效。我可以实现多种方法,从简单地回收应用程序池后,进行更改后,到使用filesystemwatcher类来检测对nhibernate.config的更改。我认为将配置移至web.config是最简单的。

我认为将NHibernate配置在其自己的文件中唯一的好处是,它可以使您的配置更加模块化。但是,我并不真正认为这是一个巨大的好处。

我缺少这样的配置有其他好处吗?将NHIBERNATE配置放在我尚未考虑的web.config中是否有缺点?

我已经搜索了任何一种参数,找不到任何参数。一些教程/文章使用单独的配置文件,而其他教程/文章使用web.config。

编辑: 回答@Jamie IDE的问题

我要实现的主要目标是打开和关闭第二级缓存。我正在使用AppFabric进行第二级高速缓存,而我可以找到清除或到期缓存的唯一方法是重新启动缓存群。我的代码处理AppFabric是不可用的,但是App Fabric客户端投掷的例外要花很长时间才能被投掷,因此在(大约)大约两分钟左右的时间里,我的网站并不是特别响应,因此群集需要重新启动。我认为最好简单地关闭第二级缓存,重新启动然后重新打开。我知道更新配置将需要重新启动,但是当我编辑web.config时,这应该发生 - 我只是不想手动进行重新启动。

有帮助吗?

解决方案

我认为将NHibernate配置在其自己的文件中唯一的好处是,它可以使您的配置更加模块化。但是,我并不真正认为这是一个巨大的好处。

我认为这是一个很大的好处,也是将它们分开的一个很好的理由,但是web.config却非常苗条,因此这并不像以前那样令人信服。 SessionFactory通常是在启动时使用配置构建的,因此无论如何,进行NHibernate配置更改都需要重新启动。您需要进行哪些更改?

其他提示

您在思考和权衡的所有方式上都是对的。在那里,单独的nhibernate配置只是为了将详细配置置于普通的web.config之外。将其合并到web.config将为您带来明显的好处,没有副作用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top