我可以使用视图文件夹/中的web.config覆盖mvc区域的自定义错误吗?

时间:2013-01-22 05:37:43

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

我的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设置?

1 个答案:

答案 0 :(得分:3)

实际上这里有一篇关于mvc中的区域的文章。

AREAS in ASP.NET MVC

根据这篇文章,我们无法覆盖设置..

  

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

     

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

     

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