首页 > 解决方案 > 在 iis 上放置站点 asp.net 框架时出错

问题描述

我在asp.net上创建了一个简单的网站,一个框架,有标准的用户认证,也就是重新注册,但是我给它添加了我需要的字段,然后发送到sql server数据库,而不是本地数据库,因为它是以前。

现在,当您出于某种原因尝试登录或注册时,首先会在地址栏中发出这样的请求:

/Account/Login?ReturnUrl=%2FAccount%2FLogin%3FReturnUrl%3D%252FAccount%252FLogin%253FReturnUrl%253D%25252FAccount%25252FLogin%25253FReturnUrl%25253D%2525252FAccount%2525252FLogin%2525253FReturnUrl%2525253D%252525252FAccount%252525252FLogin%252525253FReturnUrl%252525253D%25252525252FAccount% 25252525252FLogin%25252525253FReturnUrl%25252525253D%2525252525252FAccount%2525252525252FLogin%2525252525253FReturnUrl%2525252525253D%252525252525252FAccount%252525252525252FLogin%252525252525253FReturnUrl%25

这不是整个查询,大约有 4000 个字符像这样重复。在 Opera 的页面上有这样的错误:

“ERR_TOO-MANY_REDIRECT”

如果您在一分钟后刷新页面,则会收到以下错误:

“错误请求 - 请求太长。HTTP 错误 400。请求标头的大小太长”

我在论坛某处找到了答案,需要实现下

对于 Internet 信息服务 (IIS) 6.0 和更高版本,MaxFieldLength 和 MaxRequestBytes 注册表项位于以下子项中:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

我有点问这个。但它仍然是一样的。这是iis服务器日志:

135 400 - 请求长度 - 2020-01-23 04:20:40 ::1%0 12889 ::1%0 443 HTTP/2 GET

告诉我如何解决?应该是允许长这样的要求吗?或者它是代码中的一个门框,请求不应该是这个大小?但这是自动创建的标准 Asp 注册。请帮我修复错误

标签: c#asp.netasp.net-mvciisiis-7

解决方案


请发布您的代码和 IIS 身份验证配置。看起来就像您阻止了所有控制器的匿名访问,并且还为 /Account/Login 启用了表单身份验证。未启用 /Account/Login 的匿名身份验证。因此,当您的网站尝试访问 /Account/Login 时,您的应用程序将进入自身循环。

所以最重要的是为/Account/Login 启用匿名访问。


推荐阅读