gpt4 book ai didi

asp.net-mvc - 为什么.NET 在 MVC asp.net 应用程序中生成两个 web.config 文件?

转载 作者:行者123 更新时间:2023-12-03 07:44:54 25 4
gpt4 key购买 nike

我是 MVC 3 的新手。使用两个 web.config 文件的原因是什么?

enter image description here

这两个 web.config 文件有什么区别,每个文件的用途及其功能是什么?

最佳答案

这是web.config 文件继承的示例。来自 MSDN

You can distribute ASP.NET configuration files throughout your application directories to configure ASP.NET applications in an inheritance hierarchy. This structure allows you to achieve the level of configuration detail that your applications require at the appropriate directory levels without affecting configuration settings at higher directory levels.

具体来说,对于MVC项目,View子目录中的web.config用于定制.cshtml/。 aspx 文件。您可以使用子文件夹中的 web.config 文件来扩展、覆盖和删除从应用自己的根继承的设置,并进一步提高层次结构,例如直到 machine.config

/Views/web.config中的常见配置包括:

  • 阻止尝试直接访问 razor 和 aspx View 的请求(这些 View 需要通过适当的路由从 Controller 提供服务)。为此类直接请求配置 404 响应,例如

<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
  • 设置default import namespaces对于 View 页面,否则必须通过 using 显式添加。您可以在此处为常见的自定义程序集添加命名空间(例如自定义 html 帮助程序扩展),例如

  <namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
...
  • 为 MVC 配置反 xss RequestValidation 过滤器。配置中添加的注释最好地解释了这一点:

<!--
Enabling request validation in view pages would cause validation to occur
after the input has already been processed by the controller. By default
MVC performs request validation before a controller processes the input.
To change this behavior apply the ValidateInputAttribute to a
controller or action.
-->

关于asp.net-mvc - 为什么.NET 在 MVC asp.net 应用程序中生成两个 web.config 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23509617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com