在 ASP.NET MVC 3 Web 应用程序中,我遇到的问题是web.config
文件中的设置被完全忽略并应用了默认值。该文件的相关部分如下:
...
<configuration>
<configSections>
<section name="MyProject.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=..." requirePermission="false" />
...
<applicationSettings>
<MyProject.Properties.Settings>
<setting name="MySetting" serializeAs="String">
<value>MyValue</setting>
</setting>
...
我确保项目名称正确,并且我还验证了网络服务器用户有权访问该文件(ProcessMonitor
用于监视访问)。
我也检查了这篇文章,但没有进一步了解。是否还有其他星座web.config
可以忽略设置?上面显示的方法我从来没有遇到过任何问题(即参考一个或多个配置部分),但是今天我们花了几个小时试图解决这个问题,但我们看不出我们错在哪里。
更新 1
根据@jbl 的评论,我尝试按如下方式访问设置:
((ClientSettingsSection)ConfigurationManager.GetSection( "applicationSettings/MyProject.Properties.Settings" )).Settings.Get("MySetting")
不幸的是,在本地测试中,这(也)按预期工作,但在服务器上 - 再次 - 使用默认值,而 web.config 中 applicationSettings 下的值被忽略。
更新 2
从 IIS 中删除 Web 应用程序并创建一个新应用程序也不起作用。