在我的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)。
答案 0 :(得分:4)
我弄清楚出了什么问题。
所以回答我自己的问题...... ConfigurationManager只能从web.config读取。
我的问题是项目配置为在运行项目时使用IIS Web服务器而不是使用Visual Studio Development服务器。所以我实际上运行的是我的应用程序的旧版本。愚蠢的。
答案 1 :(得分:1)
尽管不太可能,您也可以在当前文件夹上方的文件夹中甚至在machine.config中的“父”web.config中定义连接字符串。
尝试在<clear />
元素之前添加<add>
元素。
答案 2 :(得分:0)
存储了“旧”值的位置?它是在不同的配置文件中吗?配置管理器应该只从配置文件中提取,但是应用程序可以有多个文件。构建过程的一部分是否在旧文件中复制?
答案 3 :(得分:0)
我遇到了类似的问题,解决方法是我拿着错误的web.config,这是一个由visual studio在添加文件时生成的。