嘿那里,我有自己的Membership-Provider,我在构造函数中打开一个NHibernate-Session:
public class OwnMembershipProvider : MembershipProvider
{
protected NHibernate.ISession HibSession;
public OwnMembershipProvider ()
{
HibSession = NHibernateTools.OpenSession();
}
//...
我想出如果我在构造函数中设置断点,它在应用程序启动期间只调用一次。这让我头疼,因为每个请求使用相同的NHibernate-Session,导致有趣的事情,如“哦,我无法更改我的密码”(NHibernate-Session在调用ValidateUser()
时返回缓存用户,它仍然包含旧密码。)
如何强制框架为每个请求重建MemberShipProvider?或者应该如何做到与众不同?
任何tipps的thx
答案 0 :(得分:0)
在每种方法中打开一个单独的会话听起来是个好主意。更好的是,为每个HTTP请求打开一个会话和事务,然后在请求结束时提交事务。