Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用带有DLL的网站特定连接字符串_Asp.net_Dll_Connection String - Fatal编程技术网

Asp.net 使用带有DLL的网站特定连接字符串

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,它使用ConnectionString连接到SQL数据库。当我将DLL添加到我的网站时,我必须将connectionstring添加到我的web.config中,以使我的DLL正常工作(这是出于设计)。一旦我将其添加到web.config中,那么一切都会正常工作(如预期的那样)

问题:

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

如果我将其从web.config中删除并放在那里,我的DLL将无法工作。如果我在网站的任何其他地方使用connectionstring(而不是从DLL),我可以通过此方法访问数据库,但由于某些原因,我的DLL只能在web.config中访问它

问题:


如何让我的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将在保存时覆盖任何手动更改。是的,确实如此。这是一个与此不同的问题。