2009-08-26 75 views
0

這可能是一個臨界的服務器故障問題,但在這裏。爲什麼web.config重寫MetaBase.xml?

我有一個IIS6,其中AspMaxRequestEntityAllowed="204800"位於MetBase.xml中,提示上傳文件限制爲200kb,而web.config中的<httpRuntime maxRequestLength="20192"/>允許20mb上傳 - 後者是應用程序允許的。

爲什麼web.config重寫MetaBase.xml?對我來說,這似乎是一個失敗的錯誤。我在哪裏可以找到一個「集中參數」來配置服務器所在的整個機器的最大限制,以防萬一我不想讓一些web.config mishapp允許上傳千兆字節?

回答

0

Web.config文件是最後一個配置管理器,其中的條目將覆蓋在較高層中進行的所有條目。

I.e. machine.config文件(適用於所有網站)中的任何設置都將被web.config覆蓋(僅適用於該網站)。

實際上,您可以爲每個文件夾分別創建單獨的web.config文件,該文件將覆蓋根級別web.config。

這是您瞭解的層次結構工作方式。

+0

更高定義的更改「這是你知道的層次結構工作方式。」不是,如果你看到webapp是通過服務器訪問的話,那麼服務器配置應該規定允許底層應用程序做什麼。如果我是一名服務器技術人員,並不想在特定服務器上進行大量上傳,如果有任何ol開發人員可以覆蓋app-config中的服務器設置,我會非常感謝。但也許這只是我。就我所見,服務器設置將覆蓋應用程序設置。我想我錯了。但我確實看到了兩種情況的優點。 – 2009-08-26 09:21:11

+0

我將此標記爲正確答案,但我必須查看Microsoft配置繼承。 :) – 2009-08-26 09:47:38

+0

那麼,當你是一個網站的所有者,如果你的網站的一部分無法工作,因爲相關的權限沒有在machine.config中設置,你會被打勾。 還記得這隻適用於邏輯上可修改的設置,例如:網站所有者不能更改他不擁有的文件夾的文件夾權限,而只能更改他有權訪問的文件夾權限。 – 2009-08-26 11:29:04

0

我不知道的MetaBase.xml的,但在你的機器有文件夾中

C語言中默認CONFIGS:\ WINDOWS \ Microsoft.Net \框架\ VERSION \配置

我對不起的確切名稱可能會有所不同,但你會很容易弄清楚,在這裏你會發現幾個不同的web.config文件,你可以在其中配置每個配置文件,並且有一種方法可以禁止在較低級別更改該屬性,但我不知道如何做到這一點。

讀取MS文檔httpRuntime表示,ASP.NET本身的最大限制無論如何設置爲4MB。我將嘗試找到如何阻止較低級別在其web.config中修改此元素。

+0

我讀過的地方,極限是4 MB - 事實上我也經歷過它。但是在我提到的webapp中,它顯然被重寫,因爲允許更大的文件。我沒有編寫webapp,所以我不熟悉它的細節。 – 2009-08-26 09:24:53

+0

是的,但也有辦法可以防止最低點web.config做任何可以在machine.config – 2009-08-26 18:43:45