欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# 文件上傳 默認最大為4M的解決方法

 更新時間:2008年11月26日 12:45:44   作者:  
.net中默只能上傳小于4m的文件,大于4M將無法顯示頁面.那么如何設(shè)置來使imputfile能上傳更大的文件呢
1,環(huán)境:window 2003 ,IIS6.0
要首先要修改IIS6.0中的asp請求的最大字節(jié)數(shù),默認時為200K;
方法:打開位于 C:\Windows\System32\Inetsrv 中的 metabase.XML,
并修改 AspMaxRequestEntityAllowed 為你需要的值(例如 "1073741824", 1GB);
技術(shù)背景:
在 IIS 6.0 中, AspMaxRequestEntityAllowed 屬性指定了一個 ASP 請求(Request)可以使用的最大字節(jié)數(shù). 如果 Content-Length 頭信息中包含的請求長度超過了 AspMaxRequestEntityAllowed 的值, IIS 將返回一個 403 錯誤信息.
這個屬性值與 MaxRequestEntityAllowed 相似, 但是是針對 ASP 請求的. 假如你知道自己的 ASP 應(yīng)用只需要處理很少的請求數(shù)據(jù), 你可以在 World Wide Web Publishing Service (WWW 發(fā)布服務(wù))層級設(shè)定全局的 MaxRequestEntityAllowed 屬性為 1MB, 并單獨設(shè)定 AspMaxRequestEntityAllowed 為一個較小的值.
注意: 在編輯文件前請停止 IIS 服務(wù), 否則無法保存修改后的文件.
也可以那么解決:
到微軟站點載了IIS6 Resource Kit Tools(http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en),安裝后利用Metabase Explorer修改了(local)\LM\W3SVC\AspMaxRequestEntityAllowed屬性(默認為200K=204800),修改為1G就是了;同時修改了AspScriptTimeout屬性調(diào)整下時限,就可以上傳大文件了。
2,.net中
(1)在web.comfig文件中添加一個httpRuntime主鍵
<httpRuntime executionTimeout="90" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false"
minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100"/>
maxRequestLength="40960" 是最大的請求數(shù),單位為:K
(2)修改C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config文件
<httpRuntime executionTimeout="190" maxRequestLength="40960"
maxRequestLength="40960" 是最大的請求數(shù),單位為:K
經(jīng)實驗,(1)和(2)只要一個就可以。

配置httpRuntime也可以讓FileUpload上傳更大的文件,不過設(shè)置太大了會因用戶將大量文件傳遞到該服務(wù)器而導(dǎo)致的拒絕服務(wù)攻擊(屬性有說明)

<httpRuntime>

<httpRuntime useFullyQualifiedRedirectUrl="true|false"
       maxRequestLength="size in kbytes"
       executionTimeout="seconds"
       minFreeThreads="number of threads"
       minFreeLocalRequestFreeThreads="number of threads"
       appRequestQueueLimit="number of requests"
       versionHeader="version string"/>
屬性
屬性 選項 說明
appRequestQueueLimit     ASP.NET 將為應(yīng)用程序排隊的請求的最大數(shù)目。當沒有足夠的自由線程來處理請求時,將對請求進行排隊。當隊列超出了該設(shè)置中指定的限制時,將通過“503 - 服務(wù)器太忙”錯誤信息拒絕傳入的請求。
executionTimeout     指示在被 ASP.NET 自動關(guān)閉前,允許執(zhí)行請求的最大秒數(shù)。
enable 指定是否在當前的節(jié)點及子節(jié)點級別啟用應(yīng)用程序域。默認值為 true。
    true 指定啟用應(yīng)用程序域。
    false 指定禁用應(yīng)用程序域。應(yīng)用程序?qū)⒉粫趦?nèi)存中加載,任何客戶端請求將導(dǎo)致出現(xiàn)錯誤號為 404 的錯誤。
idleTimeOut     指定應(yīng)用程序域在經(jīng)過多長的空閑時間后將予以關(guān)閉。默認值為 20 分鐘
enableKernelModeCache 指定是否啟用輸出緩存。目前,該屬性只有在安裝 IIS 6.0 版或更高版本之后才起相應(yīng)的作用。輸出緩存的配置和請求的類型決定了是否對內(nèi)容進行緩存。

若要對響應(yīng)進行緩存,必須滿足以下條件:

  • 必須通過頁面指令或使用緩存 API 顯式啟用緩存。
  • 緩存必須具有過期策略,以便內(nèi)核知道何時放棄緩存。
  • 緩存不能有任何變量標頭或參數(shù)。
  • 請求不能要求進行任何身份驗證。
true 指定啟用緩存。
false 指定禁用緩存。
maxRequestLength     指示 ASP.NET 支持的最大文件上載大小。該限制可用于防止因用戶將大量文件傳遞到該服務(wù)器而導(dǎo)致的拒絕服務(wù)攻擊。指定的大小以 KB 為單位。默認值為 4096 KB (4 MB)。
minFreeLocalRequestFreeThreads     ASP.NET 保持的允許執(zhí)行新本地請求的自由線程的最小數(shù)目。該線程數(shù)目是為從本地主機傳入的請求而保留的,以防某些請求在其處理期間發(fā)出對本地主機的子請求。這避免了可能的因遞歸重新進入 Web 服務(wù)器而導(dǎo)致的死鎖。
minFreeThreads     允許執(zhí)行新請求的自由線程的最小數(shù)目。ASP.NET 為要求附加線程來完成其處理的請求使這些線程保持自由狀態(tài)。
useFullyQualifiedRedirectUrl     指示客戶端重定向是否是完全限定的(采用 {HYPERLINK "http://server/path" } 格式,這是某些移動控件所必需的),或者指示是否代之以將相對重定向發(fā)送到客戶端。
    true 指定客戶端重定向需要以完全限定的格式發(fā)送。這是通過自動將不是完全限定的格式的所有重定向轉(zhuǎn)換為完全限定的格式來實現(xiàn)的。
    false 指定客戶端重定向不需要被自動轉(zhuǎn)換為完全限定格式。false 是默認選項。
versionHeader     指定 ASP.NET 隨每個響應(yīng)所發(fā)送的版本頭的值。Microsoft Visual Studio .NET 使用該屬性來確定當前使用的 ASP.NET 版本。這對產(chǎn)品環(huán)境來說不是必需的,并且可以通過從 Web.config 或 Machine.config 移除該屬性,或?qū)⒃搶傩栽O(shè)置為空字符串 (versionHeader="") 來將其禁用。

相關(guān)文章

最新評論