我没发现Mvc里的 web.config 有什么用
1个回答
推荐于2016-02-22 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464972
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
由于 Mvc2+ 引入 Area ,导致文件夹结构发生变化。 Mvc下的 web.config 所在的位置是:
~/Areas/MySystem/Views/Web.config
对应的请求的URL是:
~/MySystem/Home/Index
这时, 在根目录下添加 AppSetting 项:
<add key="AdminUserId" value="LhlcAdministator"/>
在 ~/Areas/MySystem/Views/Web.config 覆盖 根下的 AdminUserId
<remove key="AdminUserId" />
<add key="AdminUserId" value="Host"/>
在 ~/MySystem/Home/Index 对应的Action 写如下代码:
return Content( System.Configuration.ConfigurationManager.AppSettings["AdminUserId"].ToString() );
结果
期望的结果是: Host
结果输出的是根Web.config配置结果: LhlcAdministator
分析
调试发现,把 ~/Areas/MySystem/Views/Web.config 转移到 ~/MySystem/Web.config 下可以。 但是如果在 ~/Areas/MySystem/Views/Web.config 下添加:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="2880" />
</authentication>
</system.web>
则会报: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
~/Areas/MySystem/Views/Web.config
对应的请求的URL是:
~/MySystem/Home/Index
这时, 在根目录下添加 AppSetting 项:
<add key="AdminUserId" value="LhlcAdministator"/>
在 ~/Areas/MySystem/Views/Web.config 覆盖 根下的 AdminUserId
<remove key="AdminUserId" />
<add key="AdminUserId" value="Host"/>
在 ~/MySystem/Home/Index 对应的Action 写如下代码:
return Content( System.Configuration.ConfigurationManager.AppSettings["AdminUserId"].ToString() );
结果
期望的结果是: Host
结果输出的是根Web.config配置结果: LhlcAdministator
分析
调试发现,把 ~/Areas/MySystem/Views/Web.config 转移到 ~/MySystem/Web.config 下可以。 但是如果在 ~/Areas/MySystem/Views/Web.config 下添加:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="2880" />
</authentication>
</system.web>
则会报: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询