MVC中views文件夹中的web.config的作用

本文探讨了MVC设计模式下,通过web.config文件如何阻止直接访问视图,确保所有请求都通过控制器进行路由。文章还分析了web.config文件在不同文件夹中的配置作用及其与应用程序根目录下配置文件的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The web.config file exists in the Views folders to prevent access to your views by any means other than your controller. In the MVC design pattern, controllers are supposed to route requests and return a rendered view to the calling client.

In other words, your view at www.mydomain.com/MySuperController/AwesomeAction1/SweetPage.aspx should not be directly accessible.

If you peek at the web.config file it actually registers the HttpNotFoundHandler to all paths and verbs:

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

Or, in IIS 7 it might look like

<add name="BlockViewHandler" path="*.aspx" verb="*" 
    preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>

这是从国外技术论坛上看到的,虽然意思能大概理解,就是是控制器和视图的一个中转的意思吧,但还是不太明白。
我试着把view中的web.config文件删除,结果程序就跑不起来,视图识别不了各种关键字,但是我把views中的web.config中的配置项全部复制到更目录的web.config文件中的相应位置,程序就没问题了,在某一个文件中添加另一个文件已经存在的节点,会提示不能配置重复的节点,所以我认为,这两个文件应该相当于C#中的部分类,实则为同一个文件,但是为了方便管理,不同的文件实现不同的作用。

转载于:https://www.cnblogs.com/dc-lancer/archive/2013/04/25/3042060.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值