Asp.net
asp.net - 即使發布的文件遠低於 maxRequestLength,發布文件也會給出 404 頁結果
我的 ASP.NET 站點上有一個頁面,用於上傳文件。我試圖調整 web.config 文件以允許更大的上傳。在我的 web.config 中,我設置:
<httpRuntime maxRequestLength="2097152" executionTimeout="3600" />在我的頁面上,當我嘗試上傳較小的文件時,沒有問題……即使是 25MB。但是,當我嘗試上傳 50MB 的文件時,我仍然收到 404 錯誤頁面。
注意:我在另一個頁面上有一個 Flash 控制項,可以毫無問題地上傳幾乎 2gb,使用相同的 web.config 設置。在不同的 PC 上的結果相同,發佈到不同的 Web 伺服器時的結果相同。我的網路伺服器是 Windows Server 2008 R2。
對原因有任何想法嗎?為什麼flash會ok,但是plain jane upload control有這個問題?
我找到了答案。Windows Server 2008 R2 使用 IIS7(當然),在 IIS7 中,您必須在 web.config 文件中設置以下內容(在我的範例中將限制增加到 2gb):
<system.webserver> <security> <requestFiltering> <requestLimits maxAllowedContentLength="2147483648" /> </requestFiltering> </security> <system.webserver>這行得通,而其他一切都沒有。預設情況下,IIS7 將上傳限制為 30mb,除非設置了此覆蓋。
executionTimeout 僅在編譯元素中的調試屬性為 False 時適用。(另見http://msdn.microsoft.com/en-us/library/e1f13641.aspx)
因此,在發布配置中啟動您的應用程序時嘗試一下。