当前位置: 代码迷 >> ASP.NET >> 全局共享一个SqlConnect的有关问题
  详细解决方案

全局共享一个SqlConnect的有关问题

热度:10053   发布时间:2013-02-25 00:00:00.0
全局共享一个SqlConnect的问题

  public   static   SqlConnection   _conn;  

                public   static   SqlConnection   GetConnection  
                {
                        get
                        {
                                if   (_conn   ==   null)
                                {
                                        _conn   =   new   SqlConnection(strconn);
                                        _conn.Open();
                                        _conn.Close();
                                }
                                return   conn0;
                        }
                }


在并发访问的时候会出问题吗?

------解决方案--------------------------------------------------------
不要这个样子吧
------解决方案--------------------------------------------------------
Application.Lock
------解决方案--------------------------------------------------------
我觉得会。如果一个是普通对象不会有问题,但如果是占重要资源的就会。
它不只是一个服务器内容的问题了
------解决方案--------------------------------------------------------
连接池会自动管理你的连接。

不需要做成全局的。
------解决方案--------------------------------------------------------
连接在需要的时候打开,用完立马关闭
------解决方案--------------------------------------------------------
连接在需要的时候打开,用完立马关闭

顶这句.
------解决方案--------------------------------------------------------
只写一个连接,就可以,ado.net数据库连接池会自动处理的,详细资料看看ado.net

嗯 送他一朵小花花
------解决方案--------------------------------------------------------
没必要做成全局的吧。在WEB.CONFIG里面设置好连接字符串,要用的时候调用就可以了。
------解决方案--------------------------------------------------------
你可以看看SqlHelper,里面有关于全局类的定义。接口也很清晰。
------解决方案--------------------------------------------------------
如果为了连接在需要的时候打开,用完立马关闭,怎么不用using调用啊,这样写多此一举,


------解决方案--------------------------------------------------------
CONNECTION本来就是很耗费资源和影响数据库性能的
这样一来就阻塞了一个连接
不可取
------解决方案--------------------------------------------------------
这个一般情况下直接new出来用就行了,只不过记得用完后close,.net后台已经用了连接池管理.
------解决方案--------------------------------------------------------
我打个比方吧,有10个厕所可以用,每个人用完了尽快出来给别人用就可以了。你这样不等于上完厕所洗手的时候也不让别人进来吗
  相关解决方案