这是一个奇怪的问题。当我达到这一点时,他们总是如此。
我有一个 MVC 应用程序。这是一个单页应用程序,因此所有路由都是 ajax 调用,但我认为这无关紧要。
奇怪的是,突然之间,一个特定的页面开始给我一个 401 并提示我输入信用。实际上,这两个页面都在这个 MVC 区域中。它只在本地进行,所以我无法调试。它只是在最后一次推动之后才开始的。其他页面都没有这样做。
因此,我通过 fiddler 比较了成功页面的标题和网站上的 401 页面。完全一样的怪胎除了网址。行动
401行动
public ActionResult Display_Template(ViewModel input)
{
return this.View("Display", new TasksByFieldViewModel());
}
对于 200
public ActionResult AddUpdate_Template(ViewModel input)
{
return View("VendorAddUpdate", new VendorViewModel());
}
唯一的变化是这个,这是没有意义的。
从 401 页面,我重定向到一个带有 reportviewer 的 aspx 页面。但是您必须单击一个按钮,然后您的 window.locationed 就结束了。不可能跟那个有关系。
二是我在qa服务器上从sqlserver试用版升级到sqlserver标准版。
这就是我得到的。完全糊涂了。
任何想法都会很棒。
谢谢,
拉伊夫
编辑\修复\黑客:
好吧,这要么令人困惑,要么令人愤怒。现在说还为时过早。
我的 MVC 区域,正在破坏的区域,它被命名为“报告”,因为它充满了报告。在做了一些 hail mary 测试后,我将区域名称更改为 Reportsx,现在它就像一个梦一样工作。因为如果区域名称是 Reports,我当然从来没有告诉堆栈的任何部分要求凭据,我只能假设有一些 IIS 设置或 MVC 设置表明如果 url 是 xxx/Reports 则需要凭据。
我对其他观点持开放态度。