我有一个实例类,它实现了一个接口,并且除接口方法以外的所有方法都是静态的。所有的类变量也是静态的。其中两个静态变量实际上是实例变量,并标记为只读。这些只读实例变量是内联初始化的。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
我严重怀疑这个第三方连接是线程安全的,这将使它很难正确使用。除非你真的只从一个线程中调用它。您遇到的另一个主要问题是,如果连接中断并变得不可用,会发生什么情况。你将如何安全地重新初始化它? –