【问题标题】:"The current configuration system does not support user-scoped settings"“当前配置系统不支持用户范围的设置”
【发布时间】:2011-01-04 04:14:46
【问题描述】:

当导航到暂存服务器上的 WCF 服务时,我们会收到“当前配置系统不支持用户范围的设置”编译异常。

当我们直接导航到 .svc 测试页面时,我们通过使用 WCF 服务的应用程序得到了这个异常。

这在我们的测试服务器上运行良好 - 网站的设置方式相同(在 IIS、文件系统等中)。

有人知道这会是什么吗?

【问题讨论】:

    标签: asp.net wcf


    【解决方案1】:

    我的问题很简单,在项目的 Settings.setting 页面/文件中查看 Scope 列是否设置为 User 而不是 Application:

    【讨论】:

    • @PTuckley,但有一张漂亮的照片。 :-P
    【解决方案2】:

    在我的情况下,问题在于 Web 服务引用的“URL 行为”属性设置为“动态”而不是“静态”。将其设置为静态后,问题就消失了。

    【讨论】:

      【解决方案3】:

      这是错误的,因为 WCF Web 服务引用的项目中的一项设置将其范围设置为“用户”而不是“应用程序”。

      所以我建议人们仔细检查 webservice 项目所引用的项目,以及 webservice 项目本身,并确保所有设置的范围是应用程序而不是用户。

      希望它能帮助那些试图为类似事情绞尽脑汁的人。

      【讨论】:

      • 谢谢!这只是为我省去了很多麻烦。对于阅读本文的其他人,IIS 似乎缓存了设置文件,尽管我多次重新部署我的 WCF 项目,删除 web.config 文件并重新启动 IIS,但它没有任何影响。只有当我注释掉有问题的代码,重新部署,重新输入代码,然后重新部署它时它才起作用。
      • 我进入了引用项目的属性 -> 设置并将变量的范围更改为应用程序范围。解决了。谢谢!
      【解决方案4】:

      用户范围设置存储在隐藏在 C:\Users\\AppData\Local\ 文件夹中的配置文件中。也许您的服务器设置禁止 .Net 在那里写入文件?

      您有任何用户范围设置吗?我认为这些对于服务来说不是必需的吗?也许您应该将设置更改为 Application Scope 并且您的问题已解决。

      【讨论】:

      • 我在任一服务器(暂存或测试)上都没有 C:\Users 文件夹,并且 WCF 服务的 web.config 不包含 appSettings 或任何用户范围设置 - 我们只得到这个某些(并非所有) .svc 文件的例外 - 您还能想到其他什么吗?谢谢!
      • c:\documents and settings\... 可能适用于较旧的 Windows 版本?我现在想不出什么了……
      猜你喜欢
      • 2012-04-09
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 2013-01-30
      • 2012-09-01
      • 1970-01-01
      相关资源
      最近更新 更多