2

在我的 ASP.NET 应用程序中,我有一个 web.config 文件。在 web.config 文件中,我有一个连接字符串...

<connectionStrings>
    <add name="HRDb" connectionString="xxxxx" providerName="System.Data.SqlClient" />
</connectionStrings>

然而,当我使用 检索这个值时ConfigurationManager.ConnectionStringsp["HRDb"],我得到的是旧的连接字符串,而不是新的。

ConfigurationManager读取连接字符串值来自哪里(除了 web.config) ?

我正在从 VS.NET 运行应用程序(未部署到 IIS)。

4

4 回答 4

4

我弄清楚出了什么问题。

所以回答我自己的问题...... ConfigurationManager 只从 web.config 中读取。

我的问题是项目配置为在运行项目时使用 IIS Web 服务器,而不是使用 Visual Studio 开发服务器。所以我实际上正在运行我的应用程序的旧版本。愚蠢的。

于 2008-10-28T07:45:47.967 回答
1

尽管不太可能,您也有可能在当前文件夹上方的文件夹甚至 machine.config 中的“父”web.config 中定义了连接字符串。尝试在<clear />元素之前添加一个<add>元素。

于 2008-10-28T07:38:32.770 回答
0

“旧”值存储在哪里?它在不同的配置文件中吗?配置管理器应该只从配置文件中提取,但一个应用程序可以有多个文件。您的构建过程的一部分是否复制到旧文件中?

于 2008-10-28T07:33:12.547 回答
0

我遇到了类似的问题,解决方案是我持有错误的 web.config,这是在添加文件时由 Visual Studio 生成的。

于 2010-08-18T21:12:00.683 回答