我在mvc + ef + unity应用程序中遇到随机错误(每天几次),负载更高(每秒10+请求):
- 连接未关闭/连接的当前状态正在连接
- Count查询死锁(没有显式事务)
- 已添加具有相同键的项目.在解析DbContext时在System.Data.Entity.DbContext.SetTEntity中
- 远程主机关闭了连接.错误代码是0x80070057
- 已经有一个与此命令关联的打开DataReader,必须先关闭它. - 我打开MARS摆脱这个(尽管我认为它应该在没有MARS的情况下正常工作,没有嵌套查询),这可能会导致另一个随机错误:
- 服务器将断开连接,因为客户端驱动程序在会话处于单用户模式时发送了多个请求.
我使用PerRequestLifetimeManager的这个实现并尝试了Unity.Mvc3,没有任何区别.
有一些 提示 DbContext没有正确处理.我不确定每个请求是否是问题的原因,因为它似乎是常见的做法.