我正在编写一个包含SslStream
/ NetworkStream
/ TcpClient
以及多个SqlConnection
实例的应用程序。我不断地通过它们发送和接收数据,但由于这是一个本地和远程访问多个服务器的应用程序,我需要监视连接是否失败,并且如果它们失败,会以某种方式尝试重新启动它们。我应该如何监控这些类,是否有Microsoft支持的约定?该文件并没有真正向我展示任何东西。我已经为CanRead
尝试了CanWrite
/ SslStream
,当然,我有能力监控超时。是否有建议的时间来计时?监视/计数超时是监视连接丢失的唯一方法吗?
答案 0 :(得分:2)
托管SqlConnection
个实例应该是短暂的。只在需要时创建它们然后处理它们。不要让它们在你的应用程序中随意停留,这是一种非常糟糕的做法。原因是Sql Server(以及其他数据库)实现了连接池,因此创建托管连接相对便宜,因为底层连接一旦被释放回池就会被重用。