0
嘿,我有我自己的MembershipProvider,我在构造函数中打开一个NHibernate的会话:的MembershipProvider和缓存(NHibernate的)
public class OwnMembershipProvider : MembershipProvider
{
protected NHibernate.ISession HibSession;
public OwnMembershipProvider()
{
HibSession = NHibernateTools.OpenSession();
}
//...
我想通了,如果我设置一个断点到构造函数,它在应用程序启动期间仅调用一次。这让我很头疼,因为每个请求都使用相同的NHibernate-Session,导致了一些有趣的事情,比如“哦,我无法更改我的密码”(NHibernate会话在调用ValidateUser()
时返回缓存的用户,该用户仍然包含旧密码)。
如何强制框架为每个请求重建MemberShipProvider?或者应该如何改变?
THX任何的窍门
是啊,我也结束了相同的想法。我只是在'ValidateUser()'方法中命令一个新的会话。 – sl3dg3 2011-04-27 16:30:33