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

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

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

除了web.config之外的其他地方ConfigurationManager读取连接字符串值是什么?

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

有帮助吗?

解决方案

我弄清楚出了什么问题。

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

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

其他提示

尽管不太可能,您也可以在<!> quot; parent <!>中定义连接字符串; web.config位于当前文件夹上方的文件夹中,甚至是machine.config中的文件夹。 尝试在<clear />元素之前添加<add>元素。

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

我遇到了类似的问题,解决方法是我拿着错误的web.config,这是一个由visual studio在添加文件时生成的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top