我在会话中缓存有关当前登录用户的信息。CurrentUser
每当使用我的全局应用程序类上的属性时,都会延迟加载此信息。它通过在我的 MembershipProvider 的自定义实现上调用 GetUser() 来做到这一点,它要么从会话加载用户,要么从数据库加载用户并在会话中抛出用户对象。
我应该如何处理这种情况?
- 用户登录。
- 管理员删除用户(或停用......关键是他们无法再登录)。
- 用户会话到期。
- 用户导航到页面或发出请求,或其他任何内容。
目前,如果发生这种情况,NullReferenceExceptions 会到处抛出,因为 ASP .NET 框架调用 GetUser() 没有返回任何内容,因为它在数据库中找不到用户(并且会话中没有任何内容,因为它已过期)。