0

我正在查看一个自定义构建的 .NET 控件 (vb)。它有一个公共字符串声明为:

Public Shared strConn As String = ConfigurationSettings.AppSettings("TheDB")

我试图找出“TheDB”应该是什么。我使用这个自定义控件查看了网站的 web.config 文件,但是任何地方都没有“TheDB”参数。我还查看了 Web 服务器的 machine.config 文件,同样,那里也没有“TheDB”参数。

帮助。

4

3 回答 3

2

如果缺少,只需添加它:

 <appSettings>
     <add key="TheDB" value="somevalue" />
 </appSettings>

(假设它ConfigurationSettings.AppSettings确实对应于.appSettings的部分web.config。这不清楚,因为通常您使用内置ConfigurationManager类引用配置文件的标准部分)

于 2012-08-15T20:58:49.643 回答
2

查看您的 web.config。在某处有一个名为“AppSettings”的部分,其中应该有一些看起来像这样的元素:

<add key="TheDB" value="something" />

其中之一将是你的。或者可能有人把它拿出来了。不过,它很可能是您的数据库的连接字符串。

于 2012-08-15T20:59:13.953 回答
0

web.config 是分层的。每个 web.config 将配置信息提供给它所在的目录以及它下面的整个目录层次结构。

http://msdn.microsoft.com/en-us/library/ms178685.aspx

从 .Net v1.1 开始就是这样。当您查找配置值或部分时,.Net 配置系统会在最低级别的 web.config 中查找。如果未找到所需的值,它将沿目录树向上运行,直到找到为止。

您需要运行目录层次结构(是的,其中还包括安装在 IIS 中的虚拟目录),直到找到包含所需 appsetting 值的 web.config 文件。还有 IIS ApplicationHost.config,位于

%windir%\system32\inetsrv\config
于 2012-08-15T23:31:07.353 回答