【问题标题】:HTTP Error 404.15 not found未找到 HTTP 错误 404.15
【发布时间】:2015-03-05 17:25:52
【问题描述】:

我已经看到了很多关于这个的不同主题,但没有一个能解决我的问题。我什至无法访问我的 mvc 站点。我什至在进入我的登录页面之前就收到了这个错误。 cookie 似乎存在一些问题,它会将 cookie 保存很长时间,但我现在已将其设置为根本不保存 cookie。我已经更改了我找到一个主题的 .csproj 文件中的属性,但我仍然遇到相同的错误。我已删除此映射“AppData\Roaming\Microsoft\Windows\Cookies”中的所有 cookie,希望删除过长的 cookie,但这并没有解决我的问题。

我开始认为这可能与 cookie 无关?请帮忙!

【问题讨论】:

  • 您似乎正在将字符串连接到 ReturnUrl 变量中(检查您将值分配给 ReturnUrl 的位置)。你可以清理浏览器缓存,然后在没有 ReturnUrl 的情况下点击基本 URL。
  • 在您的帐户中设置断点> 登录操作以查看发生了什么。我以前有过这个,这显然是一个硬循环,但我忘记了为什么。简单的调试会话会告诉你。
  • 实际上从记忆中可能有些愚蠢,比如在登录操作中没有 [AllowAnonymous]?否则 web.config 中可能有一个与之有关的条目。抱歉说得这么模糊,但我记不太清了。这不是你的饼干……这是那些“愚蠢”的饼干之一。通过 web.config,我的意思不是按照错误屏幕,而是按照登录重定向。无论哪种方式,它都是构建字符串的硬循环,而不是单个请求,您将在设置断点时看到。

标签: asp.net-mvc cookies


【解决方案1】:

我开始认为这可能与 cookie 无关?

没错,这与 cookie 无关。根据MSDN,404.15 表示查询字符串长于 IIS 配置接受的长度。

至于为什么你的查询字符串太长,我只能猜测。但是您的应用程序中的某些内容向 URL 添加了太多信息。

【讨论】:

  • 嗯,是的,我读到了。起初,在我看来,它向旧的查询字符串添加了相同的查询字符串,就像它保存在 cookie 中一样,它只是将新的查询字符串添加到旧的查询字符串中。但是由于我以前从未遇到过这个问题,而且我没有更改代码中的任何内容,所以这很奇怪。此外,如果我启动任何其他项目,他们也会遇到同样的错误。
  • 听起来可能是服务器级别的重写规则配置错误。但是您真的应该检查服务器级别的所有配置文件(web.config、machine.config.applicationHost.config 等)是否有任何奇怪的默认设置。确保检查每个 .NET 框架版本和位数。如果这不起作用,尝试删除相关应用程序的 ASP.NET 临时文件中的文件可能不会有什么坏处。
猜你喜欢
  • 2017-07-11
  • 1970-01-01
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多