IIS7中的URL长度问题(Windows Server 2008)

时间:2009-11-19 10:40:13

标签: asp.net iis-7 openid windows-server-2008

iis7中的网址长度存在问题。如果你去:

http://www.somesite.com/myaccount/login.htm?ReturnUrl=aa2Fmyaccounta2FdefaultaaspxadnoaauserSuppliedIdentifierahttpa3Aa2Fa2Faaaaaaamaapenidacoma2Fadnoaareturnatoasigahandleaa7B633942228855348748a7Da7BaRINLQa3Da3Da7DadnoaareturnatoasigaxSa2FFPGusD7UvskGqfkJq4QtEYjc4fSVFoa2F3sXNwCBteGOBJ8mipo7yLsuSk2hEgLogbzn6SthYb0wY3pBQM1OQa3Da3Daopenidaassocahandleaa7BHMACaSHA256a7Da7B4b051c2ba7Da7ddufPa2BAa3Da3Da7Daopenidaclaimedaidahttpa3Aa2Fa2Faaaaaaaaaopbnidacoma2Faopenidaidentityahttpa3Aa2Fa2Faaaaaaaabcpenidacoma2Faopenidamodeaidaresaopenidansahttpa3Aa2Fa2Fspec

页面加载正常,但如果再添加一个字符,则会引发错误。这可能看起来对你很挑剔,但它阻止我在我的登录表单上使用open id,因为它返回一个长URL。我考虑过的一个选项是更改requestFiltering,因此在我的web.config中我有以下内容:

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxQueryString="999999999" maxUrl="999999999" />
        </requestFiltering>
    </security>
</system.webServer>

但这并没有解决问题。如果有人可以提供帮助,我会很感激。感谢

3 个答案:

答案 0 :(得分:3)

nfplee - 您是否有机会使用Ionics Isapi Rewrite Filter(IIRF)?我刚遇到同样的问题,其中长网址总是返回404。

如果禁用IIRF,一切正常。

答案 1 :(得分:1)

这是Windows的限制,目前没有解决方法

有关详细信息,请参阅此StackOverflow文章:

ASP.NET url MAX_PATH limit

答案 2 :(得分:1)

您可以在web.config中执行以下操作。

<system.web>
  <httpRuntime maxUrlLength="4000"/>
</system.web>