.net - web.config 忽略 Settings.Default.<Property> 并始终使用默认值

标签 .net asp.net-mvc web-config settings default-value

在 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 监视访问)。

我还检查了this post ,但没有进一步发展。是否还有其他可能会忽略 web.config 设置的情况?我对上面显示的方法从未遇到过任何问题(即引用一个或多个配置部分),但今天我们花了几个小时试图解决这个问题,但我们看不出我们错在哪里。

更新1

按照@jbl的评论,我尝试访问设置如下:

((ClientSettingsSection)ConfigurationManager.GetSection( "applicationSettings/MyProject.Properties.Settings" )).Settings.Get("MySetting")

不幸的是,在本地测试中,这(也)按预期工作,但在服务器上,再次使用默认值,并且忽略了 web.config 中 applicationSettings 下的值。

更新2

从 IIS 删除 Web 应用程序并创建新应用程序也不起作用。

最佳答案

我的情况的答案很简单,因为我现在很尴尬,我只是感到高兴,不是我一个人忽视了问题所在:

  • WCF Web 服务端点有几个类似的条目
  • 我在服务器上使用的 web.config 版本不是最新的
  • 正在使用的 web.config 中有四个条目,最新的有五个
  • 我只遇到了缺少最新条目的问题,不幸的是,在我的例子中,该条目首先在代码中使用
  • 由于编译到二进制文件中的默认设置,我确实得到了一个值,但不是我期望的值

当我用缺少的设置更新文件后,一切都工作正常,很抱歉给您带来了困惑(至少让我损失了 50 分......)。

关于.net - web.config 忽略 Settings.Default.<Property> 并始终使用默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097211/

相关文章:

c# - 清除 Linqpad 中的所有实习字符串?

c# - 在 ASP.NET 中重写 URL?

asp.net - 在 Asp.Net 中使用 SqLite

asp.net - 网站无法运行 服务器/应用程序中出现错误

c# - 泛型构造要求类型 'Cell<' T>' 是非托管类型

javascript - jQuery 事件不会在动态生成的内容上触发

javascript - selectedIndexChanged 之后的 control.focus()

asp.net - ASP.Net MVC 与经典 ASP 有何不同(不是 ASP.Net——原始 ASP)

javascript - MVC 6 使用 ajax 将模型从 View 传递到 Controller 再到局部 View

asp.net-mvc - MVC3 Bootstrap 带有网格的表格数据