设置:

我有一个使用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?

有帮助吗?

解决方案

您必须从常规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();
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top