2

我的 Mvc 解决方案中有一个名为 /Admin 的区域

在 /Admin/Views 文件夹中有一个标准的 web.config 文件。

我在这个配置文件中包含了 system.web 下的 customerErrors 元素:

<customErrors mode="On" defaultRedirect="~/admin/oops" >  
  <error statusCode="404" redirect="~/admin/pagenotfound"/>
</customErrors>

这与我的根 web.config 中的不同。

我的期望是,这将使我能够具体控制管理区域中错误的处理方式。

这是行不通的。

我是在服用疯狂的药丸,还是应该能够用该区域的 web.config 中更具体的设置覆盖默认的 web.config 设置?

4

1 回答 1

4

其实这里是一篇关于mvc中区域的文章。

ASP.NET MVC 中的区域

根据这篇文章,我们不能覆盖设置..

Views 文件夹中的 Web.Config 页面也称为视图,位于 views 文件夹中。在 MVC 中,视图不会通过 URLS 直接暴露给外部。所有视图请求都应该发送到控制器,它将使用来自 URL 的输入呈现确切的视图。视图是普通的 asp.net 网页,因此可以通过 URL 访问它们。为了限制视图的直接访问,我们使用视图文件夹中的 web.config 文件。web.config 有一个默认的处理程序映射来阻止所有具有扩展名 ASPX 的页面。

区域文件夹中的 Web.Config 与视图类似,每个区域都有一个 web.config 文件用于相同目的。这是为了限制对 ASPX 文件的访问。如果我们不想在区域级别限制它们,我们可以删除这个 web.Config 文件。

Web.Config 中的应用程序设置 web.config 文件很多;我们可以在特定区域的 web.config 文件中设置区域的应用程序设置吗?答案是否定的,我们不能或拥有或覆盖 appsettings 配置。所有应用程序设置都应在根文件夹的 web.config 中定义

于 2013-01-22T05:50:39.010 回答