【发布时间】:2018-11-02 05:49:32
【问题描述】:
我们在云上部署的应用程序版本面临一些问题。
我们的应用程序是一个带有 ADO .NET Entity Framework 的 ASP.NET MVC 3 项目。
根据 msdn 博客,我们需要在我们正确完成的数据库连接字符串中添加参数“MultipleActiveResultSets=True”(用于带有 SQL azure 的实体框架)。
从我们的应用程序执行数据库查询时,我们得到以下异常:''已经有一个打开的 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 数据库,没有任何例外。但是,当使用相同的连接字符串在云上部署相同的应用程序时,会出现上述错误。
你能帮我们解决这个问题吗?
【问题讨论】:
-
您能否使用Azure Legacy Portal 或Azure Preview Portal 部署配置验证连接字符串?您也可以setup Remote Access and connect via RDP 直接查看每个已发布角色的
web.config。
标签: asp.net-mvc azure azure-sql-database