Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 长url iis7的错误为500_Asp.net_Asp.net Mvc_Flash_Url_Iis 7 - Fatal编程技术网

Asp.net 长url iis7的错误为500

Asp.net 长url iis7的错误为500,asp.net,asp.net-mvc,flash,url,iis-7,Asp.net,Asp.net Mvc,Flash,Url,Iis 7,在我正在开发的网站上,一些长URL出现了404错误。经过一番挖掘,我发现当URL的某些方面的长度超过IIS7中的可配置限制时,就会出现这种情况。在这种情况下,需要在web.config中增加requestLimits属性的maxQueryString属性 <system.webServer> <security> <requestFiltering> <requestLimits maxQueryString="4096" maxAllowe

在我正在开发的网站上,一些长URL出现了404错误。经过一番挖掘,我发现当URL的某些方面的长度超过IIS7中的可配置限制时,就会出现这种情况。在这种情况下,需要在web.config中增加requestLimits属性的maxQueryString属性

<system.webServer>
<security>
  <requestFiltering>
    <requestLimits maxQueryString="4096" maxAllowedContentLength="4096" maxUrl="8192" >
    </requestLimits>
  </requestFiltering>
</security>

这立即解决了我的开发服务器上的问题,但在远程服务器上,我现在得到:

500-内部服务器错误

有 您所使用的资源有问题 寻找,它不可能是 显示


这就是它给我的所有信息

您不应该使用如此长的URL。除其他原因外,至少有一个常用工具栏(Bing、Yahoo、Google)会破坏它们,产生这样的错误。用户会责怪你


我之所以知道这一点,是因为我的一个用户在使用遗留应用程序时遇到了这样的问题。当我删除工具栏时(她安装了所有三个!),问题就消失了。

您确定您的主机/生产服务器正在运行Windows server 2008(或2008 R2)?
您上面描述的设置仅对IIS 7+有效。

更改您的Flash以POST方式发送数据,因此它不会附加到URL。此外,您可能需要更改服务器端以将数据作为POST而不是GET查找。

GET请求仅受浏览器对URL字符串长度的限制。 在IE中,它是2083个字符,减去实际路径中的字符数。其他浏览器对URL字符串的长度没有明确定义的限制。这些文章可能对你有帮助

RFC2616,“超文本传输协议——HTTP/1.1”没有规定URL长度的任何要求,因此浏览器可以自由规定他们认为合适的内容


因此,如果符合您的要求,您应该使用POST而不是GET

为什么一开始就有这么大的URL?不管怎样,这都会造成问题。这很奇怪。错误应该是HTTP 414:太长了。#%&ing Long()。我需要从Flash通过查询字符串发送上百个参数,我不知道还能怎么做。@Chris Porter:没有办法从Flash发布数据?这是Windows Server 2008-Web编辑我有很多参数,比如“c=32&c=33&c=34…”它很好地映射到action方法上的列表参数。有了Post,它看起来就不那么简单了。我对asp方面一无所知,但是如果你没有找到一个从Post中轻松获取数据的好方法,那就提出一个问题——因为这是你的问题,而不是这个问题即使你能做到这一点,当某人的浏览器、工具栏或插件截断URL时,它也会再次失败。(看起来IE的限制是2048个字符,或者说是过去的限制。)POST是正确的方法,你没有回答这个问题