The*_*One 1 c# nhibernate asp.net-mvc concurrency
我有一个使用ReadCommitted Isolation的NHibernate MVC应用程序.
在网站上,用户可以启动某个过程,并且根据输入,可能需要几分钟.这是因为会话是按请求进行的,并且整个时间都是开放的.
但是当它运行时,没有其他用户可以访问该站点(他们可以尝试,但他们的请求将不会通过,除非长期运行的事情已经完成)
更重要的是,我还需要一个控制台应用程序,它在连接到同一个数据库时也执行这个长时间运行的功能.它导致了同样的问题.
我不确定我的设置的哪一部分是错的,任何反馈都会受到赞赏.
NHibernate使用流畅的配置和StructureMap进行设置.
听起来你的请求正在等待数据库锁.你的选择是:
(注意,我假设长时间运行的函数会执行大量的读/写操作,而被阻止的请求主要是执行读操作.)