401返回在返回JSON的ASP.NET MVC应用程序中的每第5次调用

时间:2009-01-13 23:24:13

标签: asp.net-mvc json extjs http-status-code-401

这是坚果。

我有一个使用Windows身份验证的ASP.NET MVC应用程序,除了其他功能之外,还通过向其返回JSON数据来与许多ExtJs Javascript组件进行交互。

问题在于,即使用户成功通过身份验证,每隔5次从MVC获取一些JSON数据的请求也会导致两个“401 Unauthorized”响应,然后是“200 OK”响应。再次,这发生在每5次呼叫......为什么?我不知道。

有趣的是,每个响应都包含预期的JSON !!!

是否有其他人遇到此行为或对其发生原因有任何想法?

谢谢 - wg

2 个答案:

答案 0 :(得分:3)

这似乎是Windows身份验证的设计工作方式:

How do I stop 401 responses from TFS 2008

我在IIS 6上运行的ASP.NET MVC应用程序遇到了同样的问题,但是使用了Forms身份验证。它让我疯狂,直到我意识到我们的服务器设置为通过NTLM为每个请求进行身份验证,因为它是一个内部Intranet服务器。所以它确实是一个非问题,因为请求在200响应之后处理正常,并且似乎根本不会使加载时间陷入停滞。

答案 1 :(得分:0)

我曾经遇到过这种情况,在我看来,这是因为我让虚拟网络文件夹使用了两种不同的身份验证方法:Windows身份验证和基本身份验证。

每隔一段时间,IIS就会尝试使用Windows身份验证来验证用户身份,而不是使用我认为可以使用的基本HTTP身份验证(这种情况尤其发生在Internet Explorer中)并返回“未经授权”的响应。

尝试禁用您未使用的身份验证方法,并查看会发生什么。