k.c*_*.c. 5 nhibernate transactions fluent-nhibernate
我需要在单个事务中完成大量的数据库处理,包括使用NHibernate进行的一些处理.
为了使所有内容在同一个事务中工作,我使用NHibernate的Session启动它,并为其中的其他工作登记命令.
一切顺利,直到我承诺.那时我得到了一个事务超时.
如何将NHibernate事务超时值设置得足够高?
我们使用FluentNHibernate.
经过一些试验和很多错误,我发现了这个:
似乎NHibernate采用"TransactionManager.DefaultTimeout"值.
它可以通过设置
<system.transactions>
<defaultSettings timeout="01:00:00" />
</system.transactions>
Run Code Online (Sandbox Code Playgroud)
在app/web配置中
如果将其设置为高于TransactionManager.MaximumTimeout的值,则事务超时将默认为该值.如果您需要更长时间,可以通过更新.Net框架版本的"machine.config"来延长时间:
<system.transactions>
<machineSettings maxTimeout="01:00:00" />
</system.transactions>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3473 次 |
最近记录: |