【问题标题】:why are there 2 web.config files为什么有 2 个 web.config 文件
【发布时间】:2010-11-24 05:31:48
【问题描述】:

为什么会有多个 (2) web.config 文件:

  • 根目录下1个
  • views 目录中有 1 个

【问题讨论】:

  • 参见此问题here 了解更多最新版本的 MVC,原理相同。

标签: asp.net asp.net-mvc web-config


【解决方案1】:

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

<add path="*" verb="*"
      type="System.Web.HttpNotFoundHandler"/>

这是因为有人无法手动尝试转到 http://www.yoursite.com/views/main/index.aspx 并在 MVC 管道之外加载页面。

【讨论】:

  • @Rex 我必须将连接字符串添加到哪个文件
  • @Pandiya 根 web.config,而不是 Views 目录(或任何其他)中的一个
【解决方案2】:

Silky 所说的,除了改写。

在 ASP .NET 中,配置文件基本上存在继承风格。您在 .net 框架文件夹中有一个 machine.config,其中包含机器上所有应用程序的基本设置。您在根 web.config 中使用相同标签指定的任何内容都会覆盖 machine.config 中的内容。
子文件夹中的任何 web.config 都可以覆盖或添加该子文件夹中的其他设置,并且它的孩子。

当我的新程序员第一次将 http 处理程序放在根文件夹中时,这对我来说总是很有趣,然后它下面的虚拟目录中的所有应用程序都会爆炸,因为它们没有 DLL(他们应该有仅将 http 处理程序语句放在需要它的应用程序中,而不是在根目录中)。 :)

【讨论】:

    【解决方案3】:

    /Views/Web.config

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

    /Web.config

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

    这是来自Pro ASP.NET MVC Framework一书

    【讨论】:

      【解决方案4】:

      您可以拥有多个 web.config 来为该文件夹定义不同的设置。用于权限和其他类似的事情。

      【讨论】:

        猜你喜欢
        • 2014-05-06
        • 2012-09-27
        • 1970-01-01
        • 2021-09-03
        • 2023-03-29
        • 2019-09-17
        • 2019-01-21
        • 2011-06-10
        • 1970-01-01
        相关资源
        最近更新 更多