单态类的小测试

写个程序,里面有建立数据库连接的部分,很慢,想使用连接池,同时使用单态类将数据库连接对象做为一个公共实例调用。

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data .OracleClient ;

namespace test_singleton
{
           sealed class MySingleton
        {
            private MySingleton(){}
            //public static readonly MySingleton orcn = new MySingleton();
            private static OracleConnection orcn = null;
            public static OracleConnection getConnection()
            {

                if (orcn == null)
                {

                    orcn = new OracleConnection("user id=ABC;password=ABC;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.203)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=myDB)));");
                }
               
                return orcn;

            }//=


            public static void Main(string[] args)
            {
                OracleConnection[] addr = new OracleConnection[20];

                for (int i = 0; i < 20; i++)
                {
                    addr[i] = MySingleton.getConnection();
                  
                    Console.WriteLine("orcn 的当前状态  ---" + MySingleton.getConnection().State);
                    Console.WriteLine("            ");
                }
                Console.WriteLine("两个对象是否相等?"+(addr[0]==addr[1]));
                Console.WriteLine("两个对象是否相等?" + (addr[2] == addr[5]));

                Console.ReadLine();
            }

        }
    }

 

//

注意,这个时候不需要dispose来关闭连接,只需close即可,否则单态类就没有意义了。

程序执行快了很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值