Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.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
C# 如何插入此代码;MultipleActiveResultSets=true&引用;在我的ASP.Net连接字符串中?_C#_Asp.net - Fatal编程技术网

C# 如何插入此代码;MultipleActiveResultSets=true&引用;在我的ASP.Net连接字符串中?

C# 如何插入此代码;MultipleActiveResultSets=true&引用;在我的ASP.Net连接字符串中?,c#,asp.net,C#,Asp.net,我一直在犯这个错误 已经有一个与此命令关联的打开的DataReader,必须先关闭它。” 这个问题的大多数解决方案,MultipleActiveResultSets=true将被插入到数据源连接字符串中 例如: string connectionString = "Data Source=MSSQL1;" + "Initial Catalog=AdventureWorks;Integrated Security=SSPI;" + "MultipleActiveResul

我一直在犯这个错误

已经有一个与此命令关联的打开的DataReader,必须先关闭它。”

这个问题的大多数解决方案,
MultipleActiveResultSets=true将被插入到数据源连接字符串中

例如:

string connectionString = "Data Source=MSSQL1;" +   
    "Initial Catalog=AdventureWorks;Integrated Security=SSPI;" +  
    "MultipleActiveResultSets=True";  
但是我的看起来像这样

string constr1 = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

在web.config文件中,您应该具有连接字符串的配置

<configuration>  
    <startup>   
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />  
    </startup>  
    <connectionStrings>  
      <add name="ConnectionStringName" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=DatabaseName; MultipleActiveResultSets=True; Integrated Security=True;Pooling=False" />  
    </connectionStrings>  
</configuration>

将“connectionstring名称”更改为connectionstring的名称。在您的情况下,它只是“ConnectionString”

在web.config或App.config中以以下方式更改连接字符串:

<add name="ConnectionString"  connectionString="Data Source=MSSQL1;Initial Catalog=AdventureWorks;Integrated Security=SSPI;MultipleActiveResultSets=True;"/>


在连接字符串的末尾,只需添加这个
“MultipleActiveResultSets=True”

ConfigurationManager.ConnectionString[“ConnectionString”]
真正的解决方案是不使用来自不同线程的相同连接。多个客户端调用不会使慢速查询运行得更快。这个错误通常指向其他问题,例如试图通过并行执行来加速较慢的查询,结果只会使事情变得更加缓慢。或者使用全局连接,而不是立即打开和关闭它们。甚至可能是连接泄漏?你的代码是什么样子的?两个读卡器是如何/为什么在同一个连接上打开的?另外,我认为您不应该在末尾添加“.ConnectionString”,它应该是
var ConnectionString=ConfigurationManager.ConnectionString[“ConnectionString”]
,因为它正在从集合中提取字符串对象(连接字符串)(您的配置的连接字符串)。不,您应该肯定地将其添加到末尾,以便它选择标记的连接字符串部分…这在文档中。@ataraxiaOk,我有一个功能齐全的ASP.NET Azure API,它不附加此内容,而且工作正常。
<add name="ConnectionString"  connectionString="Data Source=MSSQL1;Initial Catalog=AdventureWorks;Integrated Security=SSPI;MultipleActiveResultSets=True;"/>