我想知道使用实体框架管理/监视与服务器数据库的连接的最佳方法是什么。
我知道 EF DB 上下文或对象上下文为您做了主要工作。但是,在我们的场景中,用户可能会拔掉客户端的网线或在服务器机器上停止服务器等。
数据库服务器 <-> 网络 <-> 胖客户端 (EF)
因此,在上述场景中,如果网络出现故障并且客户端尝试任何需要访问数据的操作,则会出现异常(底层提供程序在打开时失败)。
检测与数据库的连接丢失的最佳方法是什么,以便客户端应用程序(数据库上下文/UoW、Rep 等所在的位置)可以正常失败?
我见过的一种解决方案是打开与服务器数据库 (DBConnection) 的手动连接,然后使用 C# 中的计时器轮询数据库并写入心跳表。然后在发生异常时捕获异常。这对我来说似乎是一个巨大的黑客攻击。
任何帮助将不胜感激......提前致谢。