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

前端之家收集整理的这篇文章主要介绍了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

猜你在找的C#相关文章