使用ASP.NET MVC2在Area中的多个Web.config文件

时间:2011-04-22 20:55:58

标签: asp.net-mvc-2 asp.net-mvc-areas

我对我认为简单的事情有疑问。我在我的网站上有一个区域,我想创建一个特定于此区域的Web.config文件,但无论我在哪里放置此配置文件,我在appSettings中设置的键都返回“null” “当我访问它们时,所以我不确定我应该做什么。这是我的网站结构:

Site
    [usual site stuff like Views, Models, Controllers] 
    Web.config
    Areas
        MyArea
            Web.config
            [usual site stuff like Views, Models, Controllers] 

主站点上的web.config看起来像......

<?xml version="1.0"?>
<configuration>
<appSettings>
    <add key="MyMainKey" value="MyTestValue"/>
</appSettings>
<!--all of the standard asp.net mvc config stuff -->
</configuration>

我的区域配置看起来像

<?xml version="1.0"?>
<configuration>
<appSettings>
    <add key="MyAreaConfigValue" value="MyAreaTestValue"/>
</appSettings>
<!--all of the standard asp.net mvc config stuff -->
</configuration>

在我的Regions / MyArea / Controllers文件夹中存在的控制器操作中,我试图像这样访问它:

string my_area_config_val = System.Configuration.ConfigurationManager.AppSettings["MyAreaTestValue"];

但my_area_config_val为空。

在我的主站点(不在我的区域)的控制器操作中,我可以

string my_main_config_val = System.Configuration.ConfigurationManager.AppSettings["MyTestValue"];

和my_main_config_val等于“MyTestVal”,正如预期的那样。

感谢。 穆斯塔法

1 个答案:

答案 0 :(得分:2)

Web.config文件位于Area/Views目录中。我没有找到任何具体的事实,但从我在做一些研究时看到的是,区域内的<appSettings>来自Web.config文件永远不会被使用。下面是一个简短陈述的网站: