C# 如何插入此代码;MultipleActiveResultSets=true&引用;在我的ASP.Net连接字符串中?
我一直在犯这个错误 已经有一个与此命令关联的打开的DataReader,必须先关闭它。” 这个问题的大多数解决方案,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
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;"/>