首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Chrome和do在调试时会为HttpContext LogonUserIdentity返回不同的值?

Chrome和do在调试时会为HttpContext LogonUserIdentity返回不同的值的原因是因为它们使用了不同的身份验证机制。

在Chrome浏览器中,当用户通过基本身份验证(Basic Authentication)登录时,Chrome会将用户的凭据存储在浏览器的凭据管理器中,并在后续的请求中自动发送这些凭据。因此,在调试时,Chrome会自动发送之前保存的凭据,从而使HttpContext LogonUserIdentity返回正确的用户身份。

而在使用do调试时,do可能使用其他身份验证机制,如表单身份验证(Form Authentication)或Windows身份验证(Windows Authentication)。这些身份验证机制可能需要用户手动输入凭据或使用操作系统的凭据。因此,在调试时,do可能不会自动发送之前保存的凭据,导致HttpContext LogonUserIdentity返回不同的值。

为了解决这个问题,可以尝试以下方法:

  1. 确保在Chrome中登录时选择了正确的身份验证方式,并且保存了凭据。
  2. 在do中进行调试时,确保使用与Chrome相同的身份验证方式,并提供正确的凭据。
  3. 检查代码中是否有特定于某个浏览器的逻辑,可能需要根据不同的浏览器采取不同的处理方式。

需要注意的是,具体的解决方法可能因具体的应用程序和环境而异。如果问题仍然存在,建议查阅相关文档或咨询开发人员或技术支持人员以获取更具体的帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装

在asp.net项目中,添加一个【一般处理程序】来处理请求是很自然的事,这样会得到一个实现自IHttpHandler的类,然后只需在ProcessRequest方法中写上处理逻辑就行了。但是这样的一个请求处理程序(下称ashx)是同步的,就是接待该次请求的线程会一直等待处理完才能解脱,后果就是,如果这个ashx比较耗时,并且同时对它的请求又多的话,服务器需要开启若干个线程来跑这个ashx,并且这些线程都要各自跑很久才能被收回或挪作它用,如果这样的ashx还有不少的话,那么对整个服务器资源的开销是很大的,所以有必要采用IHttpAsyncHandler来实现这种ashx,即异步请求处理程序,异步化以后,线程把请求接进来就完事了,反手就可以去处理其它请求,然后由别的线程或硬件来处理具体的任务~取决于任务是CPU消耗型(密集运算,如图片处理)还是I/O型(数据库读写、网络访问等),老实说如果耗时任务总是CPU消耗型,那同步异步在资源消耗上没什么区别,因为总得有个线程来跑任务,换不换线程意义不大。但总的来说异步化没坏处,而且万一对任务类型评估错误呢。

03

FeatureCollection

ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 “通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流程”(上篇、中篇、下篇) 中围绕着一个经过极度简化的模拟管道讲述了真实管道构建的方式以及处理HTTP请求的流程。在本系列 中,我们会还原构建模拟管道时可以舍弃和改写的部分,向读者朋友们呈现一个真是的HTTP请求处理管道。 ASP.NET Core 的请求处理管道由一个服务器与一组有序排列的中间件构成,前者仅仅完成请求监听、接收和响应这些与底层网络相关的工作,至于请求接收之后和响应之前的所有工作都交给中间件来完成。ASP.NET Core的中间件通过一个类型Func<RequestDelegate, RequestDelegate>的委托对象来表示,而RequestDelegate也是一个委托,它代表一项请求处理任务。 [本文已经同步到《ASP.NET Core框架揭秘》之中]

02
领券