Asp.net 使用带有DLL的网站特定连接字符串
设置: 我有一个DLL,它使用ConnectionString连接到SQL数据库。当我将DLL添加到我的网站时,我必须将connectionstring添加到我的web.config中,以使我的DLL正常工作(这是出于设计)。一旦我将其添加到web.config中,那么一切都会正常工作(如预期的那样) 问题: 当我想将连接字符串移动到我的网站的ASP.NET应用程序设置中时,问题开始出现在IIS>默认网站>属性>ASP.NET选项卡>编辑全局配置…>连接字符串管理器 如果我将其从web.config中删除并放在那里,我的DLL将无法工作。如果我在网站的任何其他地方使用connectionstring(而不是从DLL),我可以通过此方法访问数据库,但由于某些原因,我的DLL只能在web.config中访问它 问题:Asp.net 使用带有DLL的网站特定连接字符串,asp.net,dll,connection-string,Asp.net,Dll,Connection String,设置: 我有一个DLL,它使用ConnectionString连接到SQL数据库。当我将DLL添加到我的网站时,我必须将connectionstring添加到我的web.config中,以使我的DLL正常工作(这是出于设计)。一旦我将其添加到web.config中,那么一切都会正常工作(如预期的那样) 问题: 当我想将连接字符串移动到我的网站的ASP.NET应用程序设置中时,问题开始出现在IIS>默认网站>属性>ASP.NET选项卡>编辑全局配置…>连接字符串管理器 如果我将其从web.conf
如何让我的DLL使用ASP.NET配置设置连接字符串管理器中列出的连接字符串而不是web.config?您必须从常规ASP.NET配置设置中查找该部分,该部分可以通过WebConfiguration Manager类检索,而不是通过ConfigurationManager.ConnectionString查找连接字符串
// 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();
此外,每次保存DBML时,Linq to SQL都会覆盖db连接字符串,因此我必须始终在记事本中打开以覆盖它,然后立即构建它。是否覆盖db连接字符串?意思是,您的本地配置文件?不,我的意思是,如果对DBML的designer.vb代码进行了更改,则visual studio将在保存时覆盖任何手动更改。是的,确实如此。这是一个与此不同的问题。