ConfigurationManager ConnectionStrings在哪里获得其值?
-
04-07-2019 - |
题
在我的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在添加文件时生成的。
不隶属于 StackOverflow