c# – 通过单例类获取db连接

我创建了一个单例类,这个类返回一个数据库连接.所以我的问题是这个连接也是满足单身人士的标准?
如果不,我怎么可以让它单身.
这是代码.
public sealed class SingletonDB
{
    static readonly SingletonDB instance = new SingletonDB();
    static sqlConnection con =new sqlConnection(ConfigurationManager.ConnectionStrings["mydb"].ConnectionString);

    // Explicit static constructor to tell C# compiler
    // not to mark type as beforefieldinit
    static SingletonDB()
    {
    }

    SingletonDB()
    {
    }

    public static SingletonDB Instance
    {
        get
        {
            return instance;
        }
    }

    public static sqlConnection GetDBConnection()
    {
        return con;
    }
}

解决方法

你的单身人士还在休息.

就单身形象而言,请参见Jon Skeet的非常好的详细描述:http://www.yoda.arachsys.com/csharp/singleton.html

对于sqlConnection对象使用Singleton是一个非常糟糕的主意.没有理由这样做.

如果您尝试避免“新的sqlConnection()”或“connection.open()”的性能命中,那么真的没有任何性能打击,因为在后台连接池.连接池处理昂贵连接的打开/关闭.不是sqlConnection对象.

您将无法同时使用连接打开多个sqlDataReaders / Commands,如果您尝试与多个线程共享相同的连接对象,将会遇到线程阻塞问题.

单身人士模式是最多使用和滥用的模式,您可能没有注意到单身人士的许多副作用.非常好的谈论这里的单身人士的危险http://www.youtube.com/watch?v=-FRm3VPhseI

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...