2011-07-11 11 views

cevap

7

Şu anda ThreadLocalSessionContext gibi görünmüyor olabilir. Kullanımını destekleyen bir yapılandırma yoktur ve sadece NHibernate içinde bir birim testi ile referans alınır.

koduna göre CallSessionContext, oturumları ele alma yöntemidir. Net remoting Daha fazla ayrıntı için aşağıdaki kodda yer alan yorumlara bakın. NHibernate, oturumu temel olarak uzaktaki arama bağlamında depolar gibi görünüyor. Çağrı bağlamları Remoting hakkında daha fazla bilgiye çok kanallı uygulamalarda oturumları yürütmek için kullanılmaktadır ThreadStaticSessionContext

/// <summary> 
/// Provides a <see cref="ISessionFactory.GetCurrentSession()">current session</see> 
/// for each <see cref="System.Runtime.Remoting.Messaging.CallContext"/>. 
/// Not recommended for .NET 2.0 web applications. 

here bulunabilir. Bir iş parçacığı başına bir oturum olduğu gibi oturum bildirmek için bir [ThreadStatic] özniteliği kullanır. Bunu şu anda kullanıyorum. Bunu kullanmak nasıl bir kod örneği için bu SO bağlantısına bakın: NHibernate WcfOperationSessionContext denilen 3.2 sürümündeki başka oturumda bağlamı ekliyor gibi What is the best NHibernate session management approach for using in a multithread windows service application?

Ayrıca buna ek olarak görünüyor. Aşağıda kodundan açıklamasıdır:

/// <summary> 
/// Provides a <see cref="ISessionFactory.GetCurrentSession()">current session</see> 
/// for the current OperationContext in WCF. Works only during the lifetime of a WCF operation. 
/// </summary> 

Gerçekten sen uyguladıklarını ve siz oturumları nasıl kullandıklarını uygulamanın türüne bağlıdır senin 2 soruya cevap vermek için. Nhibernate belgeleri ve yukarıdaki açıklamalar arasında, hangi bağlamı kullanmanız gerektiğine dair daha iyi bir fikre sahip olacağınızı umuyoruz.