Asp.net 为什么有2个web.config文件

Asp.net 为什么有2个web.config文件,asp.net,asp.net-mvc,web-config,Asp.net,Asp.net Mvc,Web Config,有人通过链接向我发送了下载标准asp.net MVC示例的链接,我注意到有2个web.config文件: 1在根目录中 视图目录中的1 原因是什么?您可以使用多个web.config为该文件夹定义不同的设置。用于权限和其他类似内容。视图目录中的web.config只有一个重要条目,它会阻止直接访问: <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> 这是因为有人无法手动尝试转到http://

有人通过链接向我发送了下载标准asp.net MVC示例的链接,我注意到有2个web.config文件:

  • 1在根目录中
  • 视图目录中的1

  • 原因是什么?

    您可以使用多个web.config为该文件夹定义不同的设置。用于权限和其他类似内容。

    视图目录中的web.config只有一个重要条目,它会阻止直接访问:

    <add path="*" verb="*"
          type="System.Web.HttpNotFoundHandler"/>
    
    
    
    这是因为有人无法手动尝试转到
    http://www.yoursite.com/views/main/index.aspx
    并将页面加载到MVC管道外部。

    /Views/Web.config

    这不是应用程序的主要功能 web.config文件。它只包含一个 指示web服务器的指令 不在下提供任何*.aspx文件 /视图(因为它们应该是 由控制器呈现,未调用 直接与经典WebForms*.aspx类似 文件)。此文件还包含配置文件 需要制定标准 ASP.NET ASPX页面编译器工作 正确使用ASP.NET MVC视图 模板语法

    /Web.config

    这定义了您的应用程序 配置


    这是《Pro ASP.NET MVC框架》一书中Silky所说的话,只是改写了

    在ASP.NET中,配置文件基本上是继承式的。在.net framework文件夹中有一个machine.config,其中包含计算机上所有应用的基本设置。在根web.config中使用相同标记指定的任何内容都将覆盖machine.config中的内容。
    子文件夹中的任何web.config都可以覆盖或添加该子文件夹及其子文件夹中的其他设置


    我的一个新程序员第一次在根文件夹中放入http处理程序,然后它下面的虚拟目录中的所有应用程序都会爆炸,因为它们没有DLL(他们应该只在需要它的应用程序中放入http处理程序语句,而不是在根文件夹中。):)

    @Rex我必须将连接添加到哪个文件string@Pandiya根web.config,而不是Views目录(或任何其他目录)中的一个,请参见此问题以了解MVC的最新版本,原理相同。