C#:监控连接

时间:2016-07-29 18:59:42

标签: c# sql ssl sqlconnection

我正在编写一个包含SslStream / NetworkStream / TcpClient以及多个SqlConnection实例的应用程序。我不断地通过它们发送和接收数据,但由于这是一个本地和远程访问多个服务器的应用程序,我需要监视连接是否失败,并且如果它们失败,会以某种方式尝试重新启动它们。我应该如何监控这些类,是否有Microsoft支持的约定?该文件并没有真正向我展示任何东西。我已经为CanRead尝试了CanWrite / SslStream,当然,我有能力监控超时。是否有建议的时间来计时?监视/计数超时是监视连接丢失的唯一方法吗?

1 个答案:

答案 0 :(得分:2)

托管SqlConnection个实例应该是短暂的。只在需要时创建它们然后处理它们。不要让它们在你的应用程序中随意停留,这是一种非常糟糕的做法。原因是Sql Server(以及其他数据库)实现了连接池,因此创建托管连接相对便宜,因为底层连接一旦被释放回池就会被重用。