当前位置: 首页 > 面试题库 >

执行该命令需要一个开放且可用的连接。连接的当前状态已断开。

亢建白
2023-03-14
问题内容

在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很浪费

您对此有任何证据吗?我相信,实体框架和最确实的数据访问框架被 设计
为大量的短期和独立的上下文。在这里实现您自己的池化/缓存通常是一种反模式,可能会导致过时的结果,并发问题以及较差的故障恢复能力(在这里就是这种情况)。

您认为哪些 特定 资源会被浪费,并且您是否通过实验进行了验证?

基本上,我建议为每个工作单元创建一个新的上下文(可能大致对应于一个请求)-衡量任何性能差异,并查看问题是否消失(正如我期望的那样)。作为测试的一部分,偶尔断开数据库服务器与网络的连接,以检查您是否也可以真正恢复…



 类似资料:
  • 问题内容: ExecuteNonQuery需要一个开放且可用的连接。 连接的当前状态为关闭。 我在这里做错了什么?我假设您可以重用连接? 谢谢你的帮助! 问题答案: 您的问题是: 如果您要在“摆脱连接”之前再次使用该连接,则应该致电。如果您想了解零件的功能/含义,那么SqlCommand.ExecuteReader的文档是一个不错的选择。也有文档告诉您CommandBehaviour枚举的所有可能

  • 问题内容: 我在客户端上将nodejs与socket.io和angularjs一起使用。我从互联网上获取了angular- socketio示例,并向其中添加了方法。 套接字服务: 控制器: 但是,当我尝试使用此方法断开连接时,出现错误: 而且我不知道在哪里挖…… 问题答案: [更新] 是Angular的内部私有变量,因此您不应该真正依赖于此类事情。伊戈尔在另一个答案中描述了一些处理此问题的建议,

  • 问题内容: 我在数据库中运行了此查询: 我想知道与数据库的连接总数。第一个查询的总和与第二个查询的总和相等,但第三个查询返回的行数不同。 我想知道第三个查询返回什么?我在第三个查询的结果中看到一些状态为。这是什么意思?连接是空闲的,还是已在池中准备好了?如果我的结果中有很多联系,那意味着什么? 谢谢 问题答案: 的状态来会话连接,但不主动运行任何东西(比如最简单的定义,虽然可能不是100%准确的,

  • 我使用java ssh客户端(http://www.jcraft.com/jsch/)连接到远程机器并执行命令。代码工作正常,直到我连接到远程机器并执行命令。然而,问题是,即使命令执行成功,通道和会话也不会断开。 我也打电话给session.disconnect和channel.disconnect,但仍然是问题所在。 这是我的代码: 请建议

  • 问题内容: 我有一个bukkit插件(minecraft),需要连接到数据库。 数据库连接应该一直保持打开状态,还是在需要时打开和关闭? 问题答案: 数据库连接仅在需要时才打开,并在完成所有必要的工作后关闭。代码示例: 在Java 7之前: try { con = … //retrieve the database connection //do your work… } catch (SQLEx

  • 我有一个bukkit插件(minecraft),需要连接到数据库。 数据库连接应该一直保持打开状态,还是在需要时打开和关闭?