我有一個實例類,它實現了一個接口,並且除接口方法以外的所有方法都是靜態的。所有的類變量也是靜態的。其中兩個靜態變量實際上是實例變量,並標記爲只讀。這些只讀實例變量是內聯初始化的。ReadOnly C#類中的引用變量
下面是一個例子
public class Test : ITestInterface
{
public static readonly DbConnection Connection = new DbConnection();
public void static TestMethod1(){
}
public List<string> static TestMethod2(){
}
}
我有很多的方法,在使用靜態連接可變我的框架層。
這是一個有效的設計?我想爲我所有的API調用使用相同的對象。這個想法是爲了避免創建多個連接對象。在客戶端調用負載的任何一天,都有可能創建10,000個連接對象。我試圖避免這種情況。
這就是連接池的用途。連接對象應該是短暫的。儘可能在最後時刻創建並儘快銷燬它。讓連接池負責創建/彙集連接以供重用。 – Kevin
這不是Sqlconnection,它是第三方消息系統連接類。 – Chiran
我嚴重懷疑這個第三方連接是線程安全的,這將使它很難正確使用。除非你真的只從一個線程中調用它。您遇到的另一個主要問題是,如果連接中斷並變得不可用,會發生什麼情況。你將如何安全地重新初始化它? –