【发布时间】:2010-11-24 05:31:48
【问题描述】:
为什么会有多个 (2) web.config 文件:
- 根目录下1个
- views 目录中有 1 个
【问题讨论】:
-
参见此问题here 了解更多最新版本的 MVC,原理相同。
标签: asp.net asp.net-mvc web-config
为什么会有多个 (2) web.config 文件:
【问题讨论】:
标签: asp.net asp.net-mvc web-config
Views 目录中的 web.config 只有一个重要的条目,它阻止了直接访问:
<add path="*" verb="*"
type="System.Web.HttpNotFoundHandler"/>
这是因为有人无法手动尝试转到 http://www.yoursite.com/views/main/index.aspx 并在 MVC 管道之外加载页面。
【讨论】:
Silky 所说的,除了改写。
在 ASP .NET 中,配置文件基本上存在继承风格。您在 .net 框架文件夹中有一个 machine.config,其中包含机器上所有应用程序的基本设置。您在根 web.config 中使用相同标签指定的任何内容都会覆盖 machine.config 中的内容。
子文件夹中的任何 web.config 都可以覆盖或添加该子文件夹中的其他设置,并且它的孩子。
当我的新程序员第一次将 http 处理程序放在根文件夹中时,这对我来说总是很有趣,然后它下面的虚拟目录中的所有应用程序都会爆炸,因为它们没有 DLL(他们应该有仅将 http 处理程序语句放在需要它的应用程序中,而不是在根目录中)。 :)
【讨论】:
/Views/Web.config
这不是您的应用程序的主要 web.config 文件。它只包含一个 指示 Web 服务器的指令 不提供任何 *.aspx 文件 /Views(因为它们应该是 由控制器呈现,未调用 直接喜欢经典的 WebForms *.aspx 文件)。该文件还包含配置 需要制定标准 ASP.NET ASPX 页面编译器工作 正确使用 ASP.NET MVC 视图 模板语法。
/Web.config
这定义了您的应用程序 配置。
这是来自Pro ASP.NET MVC Framework一书
【讨论】:
您可以拥有多个 web.config 来为该文件夹定义不同的设置。用于权限和其他类似的事情。
【讨论】: