0
我目前正在使用Windows服務進行數據庫調用並執行一些工作,然後等待幾秒鐘再次運行。在工作過程中,我必須連接到數據庫,並且我希望將數據庫連接保留在某個地方,我知道這些對象完成後會被清理乾淨。Windows服務上下文,如網站HttpContext
我想使用類似HttpContext的東西,但顯然Windows服務沒有這樣的東西。每次通話後確保我的連接妥善處理的最佳方式是什麼?
我目前正在使用Windows服務進行數據庫調用並執行一些工作,然後等待幾秒鐘再次運行。在工作過程中,我必須連接到數據庫,並且我希望將數據庫連接保留在某個地方,我知道這些對象完成後會被清理乾淨。Windows服務上下文,如網站HttpContext
我想使用類似HttpContext的東西,但顯然Windows服務沒有這樣的東西。每次通話後確保我的連接妥善處理的最佳方式是什麼?
始終存在靜態屬性可能。所以你可以把它保存在一個類的靜態變量中。
public class ServiceContext
{
public static DbConnection Connection {get; set;}
}
然而,這不是好的做法。看起來您需要:
最好是使用TPL:Task<T>
。
恕我直言:通常我只是關閉連接,不用擔心丟棄對象。 CLR在後臺執行連接池,並決定如何以及何時處置和/或重用已刪除所有引用的連接。如果你遇到性能問題,只擔心它。 – Bill 2012-02-24 20:34:29