2011-11-17 123 views
4

如何設置Session.DBCommand.CommandTimeOut NHibernate的默認值與Castle ActiveRecord?如何設置默認NHibernate CommandTimeOut默認值

此配置行不起作用。

<activerecord > 
    <config> 
     <add key="command_timeout" value="60"/> 
    </config> 
</activerecord> 

編輯:我需要一些代碼的變化時創建命令CommandTimeout值,那反射動態設置的值?或PostSharp?有人知道如何?

回答

0

裏面流利的初始化方法,你必須通過幾個參數,所以,

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分鐘

編輯:剛剛注意到你想在唱片基礎上做到這一點,哎呀!