【发布时间】:2010-08-04 14:23:01
【问题描述】:
我在会话中缓存有关当前登录用户的信息。每当使用我的全局应用程序类上的 CurrentUser 属性时,都会延迟加载此信息。它通过在我的 MembershipProvider 的自定义实现上调用 GetUser() 来做到这一点,它要么从会话中加载用户,要么从数据库加载用户并将用户对象抛出到会话中。
我应该如何处理这种情况?
- 用户登录。
- 管理员删除用户(或停用...重点是 他们无法再登录)。
- 用户的会话到期。
- 用户导航到页面或发出请求,或其他任何方式。
目前如果发生这种情况,NullReferenceExceptions 会到处抛出,因为 ASP .NET 框架调用 GetUser(),它没有返回任何内容,因为它无法在数据库中找到用户(并且会话中没有任何内容,因为它过期)。
【问题讨论】:
标签: asp.net session asp.net-membership membership-provider session-timeout