IIS 7中的请求URL无效

时间:2011-12-09 15:26:13

标签: asp.net asp.net-mvc-3 iis-7 httprequest

这是我的网址

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

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

错误请求 - 无效网址 HTTP错误400.请求URL无效。

我知道网址非常长,我可以通过添加此功能在我的Cassini中解决该问题     httpRuntime maxUrlLength =“512”

web.config中的

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

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

3 个答案:

答案 0 :(得分:25)

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

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

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

您可以在注册表中更改该设置。重启后,网址就会生效。

注册表:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters]
"UrlSegmentMaxLength"=dword:00000400

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

Source

答案 1 :(得分:13)

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

答案 2 :(得分:1)