将特定于网站的ConnectionString与DLL一起使用

时间:2009-03-02 16:12:14

标签: asp.net dll connection-string

设置:

我有一个使用ConnectionString连接到SQL数据库的DLL。当我将DLL添加到我的网站时,我必须将connectionstring添加到我的web.config中,以便我的DLL正常运行(这是设计)。一旦我将它添加到web.config中,一切正常(如预期的那样)。

问题:

当我想将连接字符串移动到IIS中的网站的ASP.NET应用程序设置时,问题就开始了。默认网站>属性> ASP.NET选项卡>编辑全局配置...>连接字符串管理器

如果我从web.config中删除它并把它放在那里我的DLL无法正常工作。如果我在我网站的任何其他地方使用连接字符串(而不是DLL),我可以通过这种方法很好地访问数据库,但出于某种原因,我的DLL只能访问它,如果它在web.config中。

问题:

如何让我的DLL使用ASP.NET配置设置连接字符串管理器中列出的连接字符串而不是web.config?

1 个答案:

答案 0 :(得分:3)

您必须从常规ASP.Net配置设置中查找可以通过WebConfigurationManager类检索的部分,而不是通过ConfigurationManager.ConnectionStrings查找连接字符串。

    // Get the connectionStrings section.
ConnectionStringsSection connectionStringsSection =
    WebConfigurationManager.GetSection("connectionStrings")
    as ConnectionStringsSection;

// Get the connectionStrings key,value pairs collection.
ConnectionStringSettingsCollection connectionStrings =
    connectionStringsSection.ConnectionStrings;

// Get the collection enumerator.
IEnumerator connectionStringsEnum =
    connectionStrings.GetEnumerator();