1
我正在編寫一個應用程序,它有一個SslStream
/NetworkStream
/TcpClient
以及多個SqlConnection
實例。我不斷地發送和接收數據,但由於這是一個可以在本地和遠程訪問多個服務器的應用程序,因此我需要監視連接以查找失敗,並在失敗時嘗試重新啓動它們。是否有一個Microsoft支持的約定,我應該如何監視這些類?該文件沒有真正顯示任何東西。我試過CanRead
/CanWrite
爲SslStream
,我當然有能力監視超時。有沒有推薦的時間來計時?監視/計數超時是監視連接丟失的唯一方法嗎?C#:監控連接
這是非常有幫助的。唯一的問題是,這個應用程序將從遠程服務接收不斷的數據包數據流,對它們進行格式化,並將它們放入多個SQL數據庫中。這是如何按照慣例處理的?如果我爲我打算插入的每一條線打開一個新的連接,是不是會得到非常大的連接?我是否應該在不同的線程上執行每個插入操作,以便在任何特定時間都可以連接大量連接? – Rob
@Rob - 你可以設置一個隊列(在.net中有多個隊列提供程序)並對其進行結構化,以便將傳入的數據推送到一個隊列,然後通過將數據推送到隊列中來清空隊列中的每個XXX(某個時間幀)數據庫。在每次從隊列讀取數據並寫入DB的執行中,在該時間段內創建一個新的SqlConnection,然後在迭代完成時將其丟棄。 – Igor
我沒有考慮過,這很有趣,因爲我的程序中已經有很多其他隊列了。對於多久處理一個隊列,是否有一個好的軟件經驗法則? – Rob