假设在 ASP.NET Web 窗体应用程序中有一个相当普遍的用例,我应该在哪里检索我的主体 + 身份?
我知道通常有两种方法可以解决它:
HttpContext.Current.UserThread.CurrentPrincipal
我推测 usingHttpContext会在某些边缘情况下运行当前上下文不存在(即HttpContext.Current == null)的风险,但我更经常看到使用它而不是Thread.CurrentPrincipal(我认为它更安全,因为它应该始终存在?)的代码。
为什么是这样?如果我选择其中一个,我会让自己陷入什么影响?