IIS 7中的请求URL无效

Qud*_*oos 12 asp.net iis-7 httprequest asp.net-mvc-3

这是我的网址

http://abc.domain.com/controller/action/A74444C3A7FA858C7995CA9954CBCF1E26604634767C5575396D908E8415CF8CCC04C05F49FED0AA9D9743B69ABF232BDE9787A5222D081DA638896C0D2379A673E1747A2FFE1158F14AF098B2899D2ABEB4EA738D89369627E479796B6B2B9EA9B247CC59EF10E3A88B6A56A87F0818E2AD2A942FFA31F1C941BB7AF6FDC55FE6733353F28DFAC1827688604CBFBAB4856E6C75F810D13923F9D913F51F5B02980163E6CD63BC04610AD2C12E07360D7BC2C69F1B0CD03E

URL本身没有无效字符,因为所有内容都已加密.我还是得到了

错误请求 - 无效的URL HTTP错误400.请求URL无效.

我知道URL非常长,我能够通过添加此httpRuntime maxUrlLength ="512"来解决我的Cassini中的问题

在web.config中

但是在IIS7中,即使在使用requestfiltering maxurl和maxquerystring值之后,我还是无法解决这个问题.

这是一个asp.net mvc 3应用程序.

Max*_*ler 27

这个是为后代和跟踪我自己的问题.然而,在另一个答案中已经说过,而不是明确地说.

我最终遇到了同样的问题.答案当然是将长URL段转移到Query字符串.更容易处理.

然而问题是HTTP.sys甚至没有让请求通过,因为URL的一段超过260个字符.但是,我们仍然必须支持它.

您可以在注册表中更改该设置.重新启动后,网址将会正常运行.

注册地:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters]
"UrlSegmentMaxLength"=dword:00000400
Run Code Online (Sandbox Code Playgroud)

这将有效地将段长度设置为1024.

资源

  • ***这***是***真正的*****解决方案**!像魅力一样工作(Win8,IIS 8) (5认同)
  • 这肯定适用于Windows Server 2012.唯一的区别是密钥不在那里所以需要添加... (2认同)

Yur*_*ich 13

您的问题是您没有使用查询字符串,而是使用路径.路径的最大长度为255.