1
我一直在努力實現與功能NHibernate緩存區域的緩存區,我已經做了迄今爲止以下:如何配置功能NHibernate和syscache2
1)Fluently.Configure()設置緩存:
private static ISessionFactory CreateSessionFactory()
{
string csStringName = Environment.MachineName;
var nhibConfigProps = new Dictionary<string, string>();
nhibConfigProps.Add("current_session_context_class","web");
var cfg = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008
.ConnectionString(c => c.FromConnectionStringWithKey(csStringName))
.ShowSql()
.Cache(cache=>cache.ProviderClass<NHibernate.Caches.SysCache2.SysCacheProvider>().UseQueryCache()))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserMap>())
.ExposeConfiguration(config => config.AddProperties(nhibConfigProps))
.ExposeConfiguration(config=> config.EventListeners.DeleteEventListeners = new IDeleteEventListener[] {new SoftDeleteListener()})
.ExposeConfiguration(config => new SchemaUpdate(config).Execute(false, true))
.BuildSessionFactory();
return cfg;
}
2)改變了我的類映射,以使高速緩存,並設置選擇的區域:
public UserMap()
{
Cache.ReadWrite().Region("User");
...
}
希望我做正確的上面,但我真的不能找出磨片重新配置每個區域的優先級和緩存持續時間。你知道怎麼做嗎?如果你碰巧在上面的代碼中發現缺陷,我真的很感激反饋。
好的,根據帖子我不能配置緩存通過流利nhibernate,所以我將需要修復至少會議工廠香草風格。謝謝。 – 2010-06-04 11:26:46