我正在使用 MySQL 和他的 .NET 连接器(http://dev.mysql.com/doc/refman/5.5/en/connector-net.html)构建一个带有 ASP.NET MVC 4 Web API 的 Web 服务;
但是在我的测试中,当我从我的 HTML5 客户端向我的 Web 服务发出 3 个同时请求时,它有时只返回 2 个或 1 个请求的正确数据,其他请求向我抛出 505 错误,表示已经存在关联的 DataReader 对象通过连接,更具体地说:
There is already an open DataReader associated with this Connection which must be closed first.
at MySql.Data.MySqlClient.ExceptionInterceptor.Throw(Exception exception)
at MySql.Data.MySqlClient.MySqlCommand.Throw(Exception ex)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
at App.Backservice.Models.Persistence.DataTable..ctor(MySqlDataAdapter adp)
除了 DataReader 投诉的错误外,我目前只使用 DataTables,但我希望驱动程序使用 DataReader 加载 DataTable ...
我找不到为什么它一直向我抛出这个错误。我与数据库的连接不是持久的,我希望如此,我期待每个请求一个连接。
以前有人遇到过这种情况吗?