如何在IIS 7上的经典ASP中启用大型文件的上传?

前端之家收集整理的这篇文章主要介绍了如何在IIS 7上的经典ASP中启用大型文件的上传?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近我不得不在W2K8服务器上得到一个在IIS 7.5上运行的旧ASP应用程序。几乎一切都正常,除了我似乎不能接受大于〜200kB的上传。我确实找到了一个设置,从我可以理解的应该是窍门,在applicationHost.config中,我将最大请求大小设置为100 MB,如下所示:
<location path="TheNameOfMySite">
    <system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="104857600" />
            </requestFiltering>
        </security>
    </system.webServer>
</location>

不幸的是,这似乎什么都不做,它仍然拒绝接受任何大于200 KB的文件,并在日志文件中给出了这个错误信息:

ASP_0104_:_80004005|Operation_not_Allowed

Googling指出如上所述增加maxAllowedContentLength。所以我是新鲜的想法,但有信心巧妙的stackoverflow人群可以在更短的时间内解决这个问题,而不是我写这个问题。

解决方法

maxAllowedContentLength控制在响应中允许发送多少数据。但是,您想要控制在请求中可以接受多少。这由配置文件的asp部分中的limits元素的maxRequestEntityAllowed属性处理。一个例子可能是:
<system.webServer>
  <asp>
     <cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
     <limits scriptTimeout="00:02:00"
        queueConnectionTestTime="00:00:05"
        requestQueueMax="1000"
        maxRequestEntityAllowed="104857600"
        />
  </asp>

您可以在IIS7管理器中的ASP功能属性网格中的“限制属性”类别下进行配置。或者,您可以使用命令行:

appcmd set config /section:asp /limits.maxRequestEntityAllowed:104857600

请注意,扩展此值会增加DOS攻击的窗口,攻击者会向服务器发送大量内容,因此请勿将其超出您真正需要的范围。

猜你在找的asp.Net相关文章