2009-11-19 60 views
0

我在iis7中遇到URL长度问题。如果你去:IIS 7中的URL长度问题(Windows Server 2008)

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

该页面将加载正常,但如果你添加一个或多个字符到最后它会抛出一个错误。这可能看起来有点挑剔,但它阻止了我在登录表单上使用开放标识,因为它返回一个长URL。我考虑的一个选择是更改requestFiltering,因此在我的web.config中我有以下内容:

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

但是,这并没有解决问题。如果有人能帮忙,我会很感激。由于

回答

1

这是由于Windows的限制,目前还没有解决办法

更多信息请参见本StackOverflow的文章:

ASP.NET url MAX_PATH limit

+0

似乎很奇怪,如果无法使用.net开放式id库,也许这将在第4版中得到解决。 – nfplee 2009-11-20 14:20:10

+0

此Windows限制不适用。该限制仅适用于URI *路径*。在这个例子中,路径实际上非常短 - 只是它有一个非常长的*查询字符串*,Windows没有问题或兴趣。 – 2009-11-20 14:26:43

+0

哦,快点。我正在看错路。原始URI本身的路径,然后是成为路径的ReturnTo的值。 – 2009-11-20 14:28:31

3

nfplee - 您是否使用离子学ISAPI重写过滤器(IIRF)在任何情况下?我刚刚遇到同样的问题,其中多个网址总是返回404.

如果我禁用IIRF一切正常。

+0

嗨,我认为这可能是问题所在。我在服务器上安装了这个软件,但它似乎已经在我最新的服务器(它没有安装它)上消失。自从我遇到这个问题已经很久了,虽然我不记得确切。 – nfplee 2011-06-14 15:50:26

1

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

<system.web> 
    <httpRuntime maxUrlLength="4000"/> 
</system.web> 
相关问题