Asp.net 长url iis7的错误为500
在我正在开发的网站上,一些长URL出现了404错误。经过一番挖掘,我发现当URL的某些方面的长度超过IIS7中的可配置限制时,就会出现这种情况。在这种情况下,需要在web.config中增加requestLimits属性的maxQueryString属性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
<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是正确的方法,你没有回答这个问题