2009-08-26 62 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