1
我正在编写一个应用程序,它有一个SslStream
/NetworkStream
/TcpClient
以及多个SqlConnection
实例。我不断地发送和接收数据,但由于这是一个可以在本地和远程访问多个服务器的应用程序,因此我需要监视连接以查找失败,并在失败时尝试重新启动它们。是否有一个Microsoft支持的约定,我应该如何监视这些类?该文件没有真正显示任何东西。我试过CanRead
/CanWrite
为SslStream
,我当然有能力监视超时。有没有推荐的时间来计时?监视/计数超时是监视连接丢失的唯一方法吗?C#:监控连接
这是非常有帮助的。唯一的问题是,这个应用程序将从远程服务接收不断的数据包数据流,对它们进行格式化,并将它们放入多个SQL数据库中。这是如何按照惯例处理的?如果我为我打算插入的每一条线打开一个新的连接,是不是会得到非常大的连接?我是否应该在不同的线程上执行每个插入操作,以便在任何特定时间都可以连接大量连接? – Rob
@Rob - 你可以设置一个队列(在.net中有多个队列提供程序)并对其进行结构化,以便将传入的数据推送到一个队列,然后通过将数据推送到队列中来清空队列中的每个XXX(某个时间帧)数据库。在每次从队列读取数据并写入DB的执行中,在该时间段内创建一个新的SqlConnection,然后在迭代完成时将其丢弃。 – Igor
我没有考虑过,这很有趣,因为我的程序中已经有很多其他队列了。对于多久处理一个队列,是否有一个好的软件经验法则? – Rob