如何设置一个Session.DBCommand.CommandTimeOut NHibernate默认值与城堡ActiveRecord?
这个配置行不工作。
<activerecord >
<config>
<add key="command_timeout" value="60"/>
</config>
</activerecord>
编辑:我需要一些代码,改变CommandTimeOut值时创建的命令,反射动态设置的值呢?还是PostSharp ?有人知道怎么做吗?
在Fluent initialize方法中,你必须传递两个参数,
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分钟
编辑:刚刚注意到你想在一个记录一个记录的基础上做这个,哎呀!