如何使用Castle ActiveRecord设置Session.DBCommand.CommandTimeOut NHibernate默认值?
此配置行不起作用。
<activerecord >
<config>
<add key="command_timeout" value="60"/>
</config>
</activerecord>
编辑:我需要一些在创建命令时更改CommandTimeOut值的代码,如何动态设置值的反射?还是PostSharp?有人知道怎么做?
答案 0 :(得分:0)
在Fluent Initialise Method中,你必须传递几个参数,
public static void Initialise(string connStr)
{
_Factory = Fluently.Configure().Database(
MsSqlConfiguration.MsSql2005
.ConnectionString(connStr))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<SessionHandler>())
.ExposeConfiguration(cfg =>
{
// This will set the command_timeout property on factory-level
cfg.SetProperty(NHibernate.Cfg.Environment.CommandTimeout, "180");
// This will set the command_timeout property on system-level
NHibernate.Cfg.Environment.Properties.Add(NHibernate.Cfg.Environment.CommandTimeout, "180");
})
.BuildSessionFactory();
}
注意每个属性后面的“180”,这会将命令超时设置为3分钟
编辑:刚刚注意到你想通过记录基本的记录来做这件事,哎呀!