[英].NET how to monitor db connection interruption?
有什么方法可以監視數據庫連接是否中斷? 我有一個跨應用程序共享的連接,某些對象應在連接中斷時做出反應。
理想情況下,這應該是一個事件。 我發現的唯一一件事是連接異常,但它是在本地引發的(我正在監聽異常)。
我有從DbConnection
繼承並監聽此對象中的異常(重載其方法)的想法,並通過相關代碼發出有關連接錯誤異常的信號。 但是也許有最簡單的方法。
謝謝你的想法。
共享單個連接永遠都不是好事,這是一個壞習慣。 主要原因實際上是您的問題。 我建議您稍微改變一下設計(沒什么大不了的),並依靠ADO.NET 連接池 。 如果您不想遇到各種瓶頸,尤其是在多線程情況下,這是必須具備的。
這意味着您所有的連接都是瞬時的,只有在需要訪問數據庫時才創建一個。
您可以在此處閱讀有關它的更多信息,也可以在其中找到有關如何使用它的示例。 要了解的主要事情是它使用了Disposable模式。
//Notice the **using ** block
using(SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
//do something with the connection.
//as soon as the using block ends, the managed connection is disposed and released in the pool
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.