ASP.NET Web 服务看不到应用"设置"



有没有人知道ASP。. NET 2.0 web服务可能无法从web.config读取应用设置值?我似乎有这个问题-代码认为appSettings是空的,当它不是。

的更多细节:代码:

    Dim settings = ConfigurationManager.AppSettings
    Dim count = settings.Count   ' always gives zero

显示应用程序设置中没有数据。

我的web配置是这样的

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <!-- lots of other stuff -->
  <appSettings>
    <add key="SomeKey" value="Some Data" />
    <!-- other keys -->
  </appSettings>
</configuration>

我已经验证了代码可以看到web。配置文件(通过注释文件中的所有内容的简单设备,并看到当我尝试运行服务时,它会抱怨web。

代码是生产代码,原则上工作,只是在我的机器上不明显-所以我猜问题与我的环境有关,几乎可以肯定这不是代码的问题。

啊,原因似乎简单得荒谬。我只需要重新编译VB代码!事情是这样的,因为我确信VB代码没有任何问题,所以我把所有的精力都集中在摆弄web上。配置和IIS设置(因为这些东西可能是我的机器和已知的工作实时程序之间的不同之处)。最终我放弃了这个想法,并决定通过改变VB代码来使用硬编码值来临时解决这个问题。当我这样做并重新构建时,我发现程序现在正确地选择了appSettings(我的修改变得不必要了)。

所以,我的猜测是VB代码不知何故脱离了web。配置,并且需要重新编译以重新附加它。我有点困惑,因为我以为ASP。NET将自动检测对web的更改。配置,然后重新编译,但显然不是。

如果有人能通过解释ASP中可能发生的事情来满足我的好奇心。NET可能导致需要显式的代码重新编译才能读取web。正确配置,然后我将其标记为我最初问题的答案。(如果一天后没有人回复,我会把这篇文章标记为答案)

最新更新