我想为 NHibernate 中对 Session.SaveOrUpdate(myentity) 的特定调用设置低于默认值的 CommandTimeout。这可能吗?如果可以,该怎么做?
在我的代码中,我使用 UnitOfWork 模式,因此特定工作单元/会话的超时也可以正常工作。
这个问题的背景:我有一个网络系统。其中有一些我想保存的日志记录/调试信息,但是如果实际的数据库插入需要很长时间,我宁愿插入失败并快速返回(不到 1 秒)而不是花费很长时间。但是,对于大多数其他数据库操作,默认命令超时是可以的。现在插入几乎总是超级快。但是,如果数据库由于某种原因很慢(不是每天都发生的事情),网站的访问者会受到我希望避免的慢速日志记录的影响。由于信息并不重要,我希望一个简单的解决方案是设置数据库调用的超时。