C# HTTPcontext未返回正确的结果

C# HTTPcontext未返回正确的结果,c#,http,httpcontext,C#,Http,Httpcontext,我正在尝试使用HTTPcontext对象获取当前用户名 string username=HttpContext.Current.User.Identity.Name 但我观察到了奇怪的行为,即当我第一次加载时,我的用户名是NT AUTHORITY\IUSR 但是当我第二次或第三次加载时,我得到了正确的登录用户名。无法理解为什么第一次运行时没有返回正确的用户名。这实际上是一个名为ASP.NET模拟的功能。这是为您的应用程序启用的 在本例中,ASP.NET模拟IIS传递给它的令牌,该令牌是经过身份

我正在尝试使用HTTPcontext对象获取当前用户名

string username=HttpContext.Current.User.Identity.Name
但我观察到了奇怪的行为,即当我第一次加载时,我的用户名是
NT AUTHORITY\IUSR

但是当我第二次或第三次加载时,我得到了正确的登录用户名。无法理解为什么第一次运行时没有返回正确的用户名。

这实际上是一个名为ASP.NET模拟的功能。这是为您的应用程序启用的

在本例中,ASP.NET模拟IIS传递给它的令牌,该令牌是经过身份验证的用户或匿名Internet用户帐户(IUSR_machinename)。这就是应用程序的实际情况。
您可以在阅读有关模拟以及如何控制模拟的信息。

您在哪里检查用户名?在哪个方法中。一旦我加载应用程序,这个方法中就有一个方法fetchdata(),我正在获取登录的username.ASP.net或ASP.net MVC。是否编写方法global.asax?C#,它具有MVC模式。请尝试使用System.Threading.Thread.CurrentPrincipal.Identity.Name。看看这个和httpcontext是否都返回相同的结果