网站发展到一定规模后需要对现有的系统做整合,首先从会员系统入手,现在服务器上有.net程序和asp程序,所以用C#写会员类库并注册为com组件,实现代码复用,这个类的作用是连接数据库、获取会员数据、关闭数据库连接。    但是,asp每次Server.CreateObject("MyProject.User")获取会员数据时都要打开/关闭数据库连接,效率很低,有什么办法能让这个数据库连接持久化?---------------------------------------------------------------------------
ASP的代码:
---------------------------------------------------------------------------
<%
'...
Set obj_user = Server.CreateObject("MyProject.User")
obj_user.Load(UserID)
'...
%>
---------------------------------------------------------------------------
---------------------------------------------------------------------------
C#的代码:
---------------------------------------------------------------------------
using System;namespace MyProject
{
/// <summary>
/// 会员管理类
/// </summary>
public class User
{
/// <summary>
/// 构造函数
/// </summary>
public User()
{
} public void Load(int argUserID)
{
}
}
}
---------------------------------------------------------------------------

解决方案 »

  1.   

    在MyProject中加一个单件模式,取数据库链接,这样系统最多一个链接
    你也可以直接写一个静态的连接
      

  2.   

    flygoldfish(长江支流):
    单件模式和静态的连接是通过static实现吗?
    我是初学.NET,能不能给我写个例子?
      

  3.   

    最好不用长连接
    我以前写过一个webservice用的是长连接但是多个程序同时调用这个webservice时就容易出错
    改成短连接后  效率比前提高二倍不说程序也没报什么错误
      

  4.   

    yangbo111414(达也):数据库长连接也会出现这种问题吗?
    以前做PHP时经常用数据库永久连接,唯一缺点就是连接数过多程序会停止相应,不过只要控制好就行。