在 qa 中使用一些后,我们得到以下错误
Execution of the command requires an open and available connection. The connection's current state is broken.
我们使用 EntityFramework 的单例实例
SOF 建议:
服务器宕机导致的无效操作异常的EF恢复
1)偶尔创建一个新的ContectObject实例
2)将池连接数配置得更高
解决这个问题的最佳实践是什么?
我认为为每个 Dal 操作创建一个新的 contectObject 是浪费的
我认为为每个 Dal 操作创建一个新的 contectObject 是浪费的
你有证据证明这一点吗?我相信实体框架和大多数数据访问框架都是designed对于许多短暂且独立的环境。在这里实现您自己的池/缓存通常是一种反模式,可能会导致过时的结果、并发问题和不良的故障恢复(就像这里的情况一样)。
What specific您认为资源会被浪费吗?您是否通过实验验证了这一点?
基本上,我建议为每个工作单元创建一个新的上下文(很可能大致对应于请求) - 测量任何性能差异,并查看问题是否消失(正如我预期的那样)。作为测试的一部分,偶尔断开数据库服务器与网络的连接,以检查是否确实可以恢复......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)