.NET附件上傳大小限制控制
今天在公司的服務(wù)器上搭建了一個(gè)Dvbbs.Net 1.1,協(xié)助管理公司一些辦公文件,由于要上傳的文件大小部分較大(超過(guò)幾十兆),所以今天的大部分時(shí)間是研究怎么破除上傳的限制問(wèn)題。知道23點(diǎn)以后才基本上解決。
現(xiàn)將問(wèn)題處理的經(jīng)驗(yàn)總結(jié)如下:
一、默認(rèn)允許上傳4M的文件。
修改 Machine.config 文件,改動(dòng) MaxRequestLength 參數(shù)的值。在c:\winnt\microsoft.net 目錄下搜索該文件.
需要注意的是:在保存文件時(shí),您應(yīng)該確保指定文件的完整路徑(例如,"C:\MyFiles\Picture.jpg"),并確保為 ASP.NET 使用的帳戶提供要存儲(chǔ)文件的目錄的寫權(quán)限。上載大文件時(shí),可使用 元素的 maxRequestLength 屬性來(lái)增加文件大小的最大允許值,例如:
<configuration>
<system.web>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
</system.web>
</configuration>
其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上載的最大字節(jié)數(shù)。該限制可用于防止因用戶將大量文件傳遞到該服務(wù)器而導(dǎo)致的拒絕服務(wù)攻擊。指定的大小以 KB 為單位。默認(rèn)值為 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自動(dòng)關(guān)閉前,允許執(zhí)行請(qǐng)求的最大秒數(shù)。在當(dāng)文件超出指定的大小時(shí),如果瀏覽器中會(huì)產(chǎn)生 DNS 錯(cuò)誤或者出現(xiàn)服務(wù)不可得到的情況,也請(qǐng)修改以上的配置,把配置數(shù)加大。
二、另一個(gè)問(wèn)題
另外,上載大文件時(shí),還可能會(huì)收到以下錯(cuò)誤信息:
aspnet_wp.exe (PID: 1520) 被回收,因?yàn)閮?nèi)存消耗超過(guò)了 460 MB(可用 RAM 的百分之 60)。
如果遇到此錯(cuò)誤信息,請(qǐng)?jiān)黾討?yīng)用程序的 Web.config 文件的 元素中 memoryLimit 屬性的值。例如:
<configuration>
<system.web>
<processModel memoryLimit="80"/>
</system.web>
</configuration>
如果是Windows Server2003:
在Windows Server 2003 下上傳大文件注意事項(xiàng):
在Windows Server 2003上傳較大的附件進(jìn)行發(fā)送時(shí)系統(tǒng)報(bào)錯(cuò):
1.先在服務(wù)里關(guān)閉iis admin service服務(wù)
2.找到 WINDOWS\system32\inetsrv\下的MetaBase.xml,
打開,找到ASPMaxRequestEntityAllowed 把他修改為需要的值,默認(rèn)為204800,即200K,把它修改為51200000或者更大[根據(jù)文件大小確定]。
3.然后重啟iis admin service服務(wù)。
關(guān)鍵詞:.NET,aspx
閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!
- 0
- 0
- 0
- 0
- 0
- 0