ConfigurationManager ConnectionStrings在哪里获得其值?

时间:2008-10-28 07:24:34

标签: asp.net configuration connection-string configurationmanager

在我的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)。

4 个答案:

答案 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在添加文件时生成的。