有些网页试图解释这个问题,但我找不到最近的网页,所以请允许我再问一遍。
在 asp.net MVC 5 中,User.Identity
和Thread.CurrentPrincipal.Identity
有什么区别?
我试图打印它的名字并宣称它们看起来和我一样,也许我错过了一些东西。
答案 0 :(得分:4)
我相信你已经读过这个:Thread.CurrentPrincipal vs Current.User,没有必要重新解释同样的事情。
您的问题的答案是我猜这取决于您正在开发的应用程序。如果它是Web应用程序(例如ASP.NET MVC),那么您应该支持User.Identity
,因为User.Identity
是为Web应用程序设计的。
通常它们之间没有区别,因为ASP.NET确保它们处于同步状态。(除非您按照Scott的说明更改它们)
在某些情况下,您不希望(也无权访问)System.Web
,因此您必须使用Thread.CurrentPrincipal.Identity
。
另请注意上面的Scott博客..如果您要更改其中一个,请确保它们同步。