0

假设在 ASP.NET Web 窗体应用程序中有一个相当普遍的用例,我应该在哪里检索我的主体 + 身份?

我知道通常有两种方法可以解决它:

  • HttpContext.Current.User
  • Thread.CurrentPrincipal

我推测 usingHttpContext会在某些边缘情况下运行当前上下文不存在(即HttpContext.Current == null)的风险,但我更经常看到使用它而不是Thread.CurrentPrincipal(我认为它更安全,因为它应该始终存在?)的代码。

为什么是这样?如果我选择其中一个,我会让自己陷入什么影响?

4

1 回答 1

1

代表嫖娼我来了:)

Hanselman 先生已经在此发表了博客:http ://www.hanselman.com/blog/SystemThreadingThreadCurrentPrincipalVsSystemWebHttpContextCurrentUserOrWhyFormsAuthenticationCanBeSubtle.aspx

基本思想是 99% 的时间.. 它们是相同的.. 尽管可以更改它们。

于 2013-08-02T00:24:36.963 回答