最近接到一个项目 是做门户站的
要求程序能连接1000人到10000人
服务器我们不管 他们服务器 可以达到这个配置现在我们要从程序上考虑连接数
程序开发是Asp.net2.0+SQLServer2005我们的连接代码我大家发出来看看
能不能达到同时几千人连接
请高手指点 如果不可以 请高手多多指点 怎么才能达到 最好 有个演示(Asp.net2.0+SQLServer2005)请说详细点 我们现在有两个解决方案 一个但单纯的传sql语句 另一个就是存储过程
请问这两个分别都能达到连接几千人的要求吗?
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;namespace DBUtility
{ public class SQLHelper
{
private static readonly string conString = ConfigurationManager.AppSettings["conString"].ToString().Trim(); private static SQLHelper _instance; public static SQLHelper getDBHelper()
{
if (_instance == null)
{
_instance = new SQLHelper();
}
return _instance;
} public static SqlConnection ReturnCon()
{ string conString = ConfigurationManager.AppSettings["conString"].ToString().Trim();
SqlConnection con = new SqlConnection(conString);
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
} return con;
} public static SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter Parameter in prams)
{
if (Parameter != null)
{
cmd.Parameters.Add(Parameter);
}
}
}
return cmd;
} public static SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlConnection con)
{
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
}
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter Parameter in prams)
{
if (Parameter != null)
{
cmd.Parameters.Add(Parameter);
}
}
} return cmd;
} public static SqlCommand CreateCmd(string procName, SqlConnection con)
{
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
}
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName; return cmd;
} public static SqlCommand CreateCmd(string procName)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName; return cmd;
} /// <summary>
/// 返回一个DataSet(带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static DataSet RunProcGetDataSet(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCmd(procName, prams);
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
sda.SelectCommand = cmd;
sda.Fill(ds);
return ds;
} /// <summary>
/// 返回一个DataSet(不带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static DataSet RunProcGetDataSet(string procName)
{
SqlCommand cmd = CreateCmd(procName);
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
sda.SelectCommand = cmd;
sda.Fill(ds);
return ds;
} /// <summary>
/// 查询所有(带参数)返回一个SqlDataReader
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCmd(procName, prams);
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sdr;
} /// <summary>
/// 查询所有(不带参数)返回一个SqlDataReader
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static SqlDataReader RunProcGetReader(string procName)
{
SqlCommand cmd = CreateCmd(procName);
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sdr;
} /// <summary>
/// 执行增加、删除一条记录(不带参数)
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static int RunExecute(string procName)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = CreateCmd(procName, con);
int intReturn = cmd.ExecuteNonQuery();
con.Close();
return intReturn;
}
/// <summary>
/// 执行删除一条记录(带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static int RunExecute(string procName, SqlParameter[] prams)
{
SqlConnection con = ReturnCon(); SqlCommand cmd = CreateCmd(procName, prams, con);
int intReturn = cmd.ExecuteNonQuery(); con.Close(); return intReturn;
}
/// <summary>
/// 查询一条记录(不带参数)
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static int RunExecuteScalar(string procName)
{ SqlConnection con = ReturnCon();
SqlCommand cmd = CreateCmd(procName); int intReturn = Convert.ToInt32(cmd.ExecuteScalar());
con.Close(); return intReturn;
}
/// <summary>
/// 查询一条记录(带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static int RunExecuteScalar(string procName, SqlParameter[] prams)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = CreateCmd(procName, prams); int intReturn = Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); return intReturn;
}
}
}
要求程序能连接1000人到10000人
服务器我们不管 他们服务器 可以达到这个配置现在我们要从程序上考虑连接数
程序开发是Asp.net2.0+SQLServer2005我们的连接代码我大家发出来看看
能不能达到同时几千人连接
请高手指点 如果不可以 请高手多多指点 怎么才能达到 最好 有个演示(Asp.net2.0+SQLServer2005)请说详细点 我们现在有两个解决方案 一个但单纯的传sql语句 另一个就是存储过程
请问这两个分别都能达到连接几千人的要求吗?
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;namespace DBUtility
{ public class SQLHelper
{
private static readonly string conString = ConfigurationManager.AppSettings["conString"].ToString().Trim(); private static SQLHelper _instance; public static SQLHelper getDBHelper()
{
if (_instance == null)
{
_instance = new SQLHelper();
}
return _instance;
} public static SqlConnection ReturnCon()
{ string conString = ConfigurationManager.AppSettings["conString"].ToString().Trim();
SqlConnection con = new SqlConnection(conString);
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
} return con;
} public static SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter Parameter in prams)
{
if (Parameter != null)
{
cmd.Parameters.Add(Parameter);
}
}
}
return cmd;
} public static SqlCommand CreateCmd(string procName, SqlParameter[] prams, SqlConnection con)
{
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
}
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter Parameter in prams)
{
if (Parameter != null)
{
cmd.Parameters.Add(Parameter);
}
}
} return cmd;
} public static SqlCommand CreateCmd(string procName, SqlConnection con)
{
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
}
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName; return cmd;
} public static SqlCommand CreateCmd(string procName)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandText = procName; return cmd;
} /// <summary>
/// 返回一个DataSet(带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static DataSet RunProcGetDataSet(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCmd(procName, prams);
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
sda.SelectCommand = cmd;
sda.Fill(ds);
return ds;
} /// <summary>
/// 返回一个DataSet(不带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static DataSet RunProcGetDataSet(string procName)
{
SqlCommand cmd = CreateCmd(procName);
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
sda.SelectCommand = cmd;
sda.Fill(ds);
return ds;
} /// <summary>
/// 查询所有(带参数)返回一个SqlDataReader
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static SqlDataReader RunProcGetReader(string procName, SqlParameter[] prams)
{
SqlCommand cmd = CreateCmd(procName, prams);
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sdr;
} /// <summary>
/// 查询所有(不带参数)返回一个SqlDataReader
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static SqlDataReader RunProcGetReader(string procName)
{
SqlCommand cmd = CreateCmd(procName);
SqlDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return sdr;
} /// <summary>
/// 执行增加、删除一条记录(不带参数)
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static int RunExecute(string procName)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = CreateCmd(procName, con);
int intReturn = cmd.ExecuteNonQuery();
con.Close();
return intReturn;
}
/// <summary>
/// 执行删除一条记录(带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static int RunExecute(string procName, SqlParameter[] prams)
{
SqlConnection con = ReturnCon(); SqlCommand cmd = CreateCmd(procName, prams, con);
int intReturn = cmd.ExecuteNonQuery(); con.Close(); return intReturn;
}
/// <summary>
/// 查询一条记录(不带参数)
/// </summary>
/// <param name="procName"></param>
/// <returns></returns>
public static int RunExecuteScalar(string procName)
{ SqlConnection con = ReturnCon();
SqlCommand cmd = CreateCmd(procName); int intReturn = Convert.ToInt32(cmd.ExecuteScalar());
con.Close(); return intReturn;
}
/// <summary>
/// 查询一条记录(带参数)
/// </summary>
/// <param name="procName"></param>
/// <param name="prams"></param>
/// <returns></returns>
public static int RunExecuteScalar(string procName, SqlParameter[] prams)
{
SqlConnection con = ReturnCon();
SqlCommand cmd = CreateCmd(procName, prams); int intReturn = Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); return intReturn;
}
}
}
解决方案 »
- 【跪求】这个页面的三级联动【鸡毛信】
- 大家好,我想学asp.net!谁有经验说一下新手的学习路径!谢谢,辛苦了。
- asp.net 外国访问的速度慢 怎么办?
- 看看这段转换代码为什么越跑越慢啊?
- ◆◇◆◇◆ 在线等待,帮忙看看这个 Web.Config.xml 的修改语句为什么会出现这个问题 ◆◇◆◇◆
- HTML 中的验证功能的实现
- 加急问题求ASP.NET读取数据,用ajax以树型菜单显示数据!帮忙谢谢~~
- 请教在xml中传递中文参数的问题,有什么办法可以解决?编码好象不好用?
- 谁有在web form上实现类似windows form中菜单控件的东东.暂时给这么多分.保证再加....
- 新手问几个简单问题?
- grideview导出excel
- 有参数的Action怎么实现,急急急
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;namespace DAL
{
public static class DBHelper
{ private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = "server=.;uid=sa;pwd=tcaccp;database=NewsDB";
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();
}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
return connection;
}
}
public static int ExecuteCommand(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = cmd.ExecuteNonQuery();
return result;
} public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery();
} public static int GetScalar(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
} public static int GetScalar(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
int result = Convert.ToInt32(cmd.ExecuteScalar());
return result;
} public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
} public static DataTable GetDataSet(string safeSql)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} public static DataTable GetDataSet(string sql, params SqlParameter[] values)
{
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
return ds.Tables[0];
} }
}