asp.net-mvc – SQL Azure得到一个错误’已经有一个打开的DataReader与此命令..’关联,即使设置’MultipleActiveResultSets = True’

我们在云应用程序的部署版本上面临一些问题。

我们的应用程序是一个带有ADO .NET实体框架的ASP.NET MVC 3项目。

根据msdn博客,我们需要在我们正确完成的数据库连接字符串中添加参数“MultipleActiveResultSets = True”(用于SQL azure的实体框架)。

从我们的应用程序执行数据库查询时,我们得到以下异常:“已经有一个与此Command关联的开放DataReader必须首先关闭。”
我认为这与’MultipleActiveResultSets = True’属性非常相关。

该应用程序在本地环境中与本地部署的数据库以及使用SQL azure数据库(在本地环境中)工作正常。

但是当我们部署我们的云应用程序时,会得到上面提到的错误。似乎没有从连接字符串读取’MultipleActiveResultSets = True’属性。

我使用的连接字符串如下所示:

<connectionStrings>
        <add name="#DBInstanceName#" connectionString="Data Source=tcp:#server#.database.windows.net,1433;Initial Catalog=#DBName#;User ID=”UserName#@#server#;Password=”#password#”;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>

我可以使用本地部署的应用程序的上述连接字符串连接到SQL Azure数据库,没有任何例外。但是使用相同的连接字符串在云上部署相同的应用程序会给我上面提到的错误。

你能帮我们修好吗?

解决方法

我刚刚遇到同样的问题。我已经尝试在Web.config连接中设置“MultipleActiveResultSets = True” – 没有结果。 最后,我通过在Azure Dashboard手动编辑Connection字符串来解决问题,在“配置”选项卡中有“连接字符串”设置,您应该手动添加“MultipleActiveResultSets = True;”串。 在做完之后,我已经完成了MARS的工作。

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....