设置:
我有一个使用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?
答案 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();