Dapper,SimpleInjector和Open Data Reader错误

时间:2017-09-19 21:48:05

标签: asp.net-web-api dapper

我希望有人可以帮我解决一个令我困惑的问题。这是场景:

  1. SimpleInjector用作DI容器,并且SqlConnection在每个Web Api请求的作用域中被引导
  2. 已实现工作单元格,并且接收DbConnection。同样,根据API Web请求上下文确定范围。这样做就可以将单个连接用于多个查询/插入/更新。
  3. 使用存储库对数据库执行简单查询。它还通过构造函数获取DbConnection,根据API Web请求确定范围。
  4. 使用Dapper.NET完成数据库查询。
  5. 现在,我遇到的问题是它在少量负载下工作正常。但是,在Web API方法中同时发出5个或更多请求,并且它与旧的“已存在与此命令关联的打开的数据读取器”崩溃。

    现在 - 我知道如何解决这个问题。将存储库方法内容包装到using(var conn = new DbConnection())中,一切正常。但是,我不明白为什么会出现这个问题。

    DbConnection的范围是每个Web请求 - 我确实为每个请求都有一个新的数据库连接,那么为什么它们中的一些会破坏,就好像连接是在请求之间共享一样?

0 个答案:

没有答案