ADO.NET,检测到所有使用的连接均已断开

时间:2018-09-28 08:51:13

标签: ado.net connection-pooling

我正在使用ADO.NET(SQL Server本机客户端),它是一种服务,主要负责从各种设备收集事件。该服务旨在从这些设备收集大量流量。

我目前正在使用LAN上的连接池,但是我们正在考虑将一天迁移到云/外部SQL Server。我已经计划设置一些异常管理策略来处理临时错误重试(也许使用polly),但是我真的不知道如何检测到与服务器的所有连接的真实增长。在POC版本中,我使用受互斥锁定保护的单个共享连接,因此很容易。

现在我正在使用多个连接,如何确定SQL Server何时无法访问?目标是关闭事件收集服务,以便另一侧的设备停止运行传输事件并启动独立模式。

我从一种用于获取连接的包装器开始。这样做,我可以维护一个正在使用的连接列表。我想象然后测试所有使用中的连接,以查看那些连接是否也已关闭/断开,以防万一发生故障。但是根据命令/请求的持续时间,连接可能尚未标记为已关闭。...

我正在使用单个连接池(相同的连接字符串),而我仅在使用SqlCommand(ExecuteReader,ExecuteNonQuery和ExecuteScalar)

0 个答案:

没有答案