Привет, у меня есть свой собственный поставщик членства, в котором я открываю NHibernate-сессию в конструкторе:
public class OwnMembershipProvider : MembershipProvider
{
protected NHibernate.ISession HibSession;
public OwnMembershipProvider ()
{
HibSession = NHibernateTools.OpenSession();
}
//...
Я выяснил, если я установлю точку останова в конструкторе, она вызывается только один раз при запуске приложения. Это вызывает у меня головную боль, так как один и тот же NHibernate-Session используется для каждого запроса, что приводит к забавным вещам, таким как «о, я не могу изменить свой пароль» (NHibernate-Session возвращает кэшированного пользователя при вызове ValidateUser()
, который все еще содержит старый пароль).
Как я могу заставить каркас реконструировать MemberShipProvider для каждого отдельного запроса? Или как это сделать иначе?
Спасибо за любые чаевые