<iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>

当然首先是使用链接池了~~
连接池
Connection Timeout--尝试连接数据存储区时的等待时间默认是15秒
Min Pool Size-连接池的最小容量
Max Pool Size-连接池最大容量默认是100
Pooling 默认是true则请求从连接池返回一个新的连接,没有泽创建

Connection Reset表示在从连接池中删除数据库连接时,将会重置该连接,默认是true,如果设置成false则在创建连接时往返服务器的次数会更少但是不更新连接状态

如果出了毛病就~~SqlConnection.ClearAllPools();//清除连接池
------然后是重头戏~~自然是使用异步咯
1首先在连接字符串中设置一个 async=true
-------理论就这么多了~~看段代码爽爽把

ADO.NET快马加鞭
ADO.NET快马加鞭31041条纪录4秒
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
usingSystem;
ADO.NET快马加鞭
usingSystem.Data;
ADO.NET快马加鞭
usingSystem.Configuration;
ADO.NET快马加鞭
usingSystem.Collections;
ADO.NET快马加鞭
usingSystem.Web;
ADO.NET快马加鞭
usingSystem.Web.Security;
ADO.NET快马加鞭
usingSystem.Web.UI;
ADO.NET快马加鞭
usingSystem.Web.UI.WebControls;
ADO.NET快马加鞭
usingSystem.Web.UI.WebControls.WebParts;
ADO.NET快马加鞭
usingSystem.Web.UI.HtmlControls;
ADO.NET快马加鞭
usingSystem.Data.SqlClient;
ADO.NET快马加鞭
publicpartialclassDefault5:System.Web.UI.Page
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
protectedvoidPage_Load(objectsender,EventArgse)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭
protectedvoidButton1_Click(objectsender,EventArgse)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭DateTimeold
=DateTime.Now;
ADO.NET快马加鞭
ADO.NET快马加鞭SqlConnectionDbCon;
ADO.NET快马加鞭SqlCommandCommand
=newSqlCommand();
ADO.NET快马加鞭SqlDataReaderOrdersReader;
ADO.NET快马加鞭IAsyncResultAsyncResult;
//异步
ADO.NET快马加鞭

ADO.NET快马加鞭
ADO.NET快马加鞭DbCon
=newSqlConnection();
ADO.NET快马加鞭DbCon.ConnectionString
=System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringInfo"].ConnectionString;
ADO.NET快马加鞭Command.Connection
=DbCon;
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭Command.CommandText
="Select";
ADO.NET快马加鞭Command.CommandType
=CommandType.StoredProcedure;
ADO.NET快马加鞭Command.Connection
=DbCon;
ADO.NET快马加鞭
ADO.NET快马加鞭
try
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭DbCon.Open();
ADO.NET快马加鞭AsyncResult
=Command.BeginExecuteReader();
ADO.NET快马加鞭
while(!AsyncResult.IsCompleted)//获取异步操作是否已完成的指示。
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
//由于异步操作必须阻止线程秒钟
ADO.NET快马加鞭
System.Threading.Thread.Sleep(10);
ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭OrdersReader
=Command.EndExecuteReader(AsyncResult);
ADO.NET快马加鞭GridView1.DataSource
=OrdersReader;
ADO.NET快马加鞭GridView1.DataBind();
ADO.NET快马加鞭}

ADO.NET快马加鞭
catch(System.Exception)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭TimeSpannot
=DateTime.Now-old;
ADO.NET快马加鞭Label1.Text
=not.Seconds.ToString();
ADO.NET快马加鞭}

ADO.NET快马加鞭}

- -上面的只是小事伸手~~来个速度更快的

ADO.NET快马加鞭//最强大的wait调用,只是把System.Threading.WaitHandle.WaitAll换成,System.Threading.WaitHandle.WaitAny因为System.Threading.WaitHandle.WaitAny
ADO.NET快马加鞭
//可以在某一格进程结束后得到处理,修改try部分--注意看
ADO.NET快马加鞭
protectedvoidButton4_Click(objectsender,EventArgse)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭DateTimeold
=DateTime.Now;
ADO.NET快马加鞭
//实际上就是在第一个结果集是检索的源,第二个结果集实际上只要查询第一个结果集里面有的字段,不会在数据库中查寻,而是用第一个结果集
ADO.NET快马加鞭
SqlConnectionDBCon=newSqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringInfo"].ConnectionString);
ADO.NET快马加鞭SqlCommandTable_1Command
=newSqlCommand("select*fromTable_2whereId>4000001",DBCon);//---这里执行查询后
ADO.NET快马加鞭
SqlCommandMMCommand=newSqlCommand("selectTitle,ContentfromMM,Table_2whereMM.ID=Table_2.Id",DBCon);//Table_2.Id其实是上面的Table_2地一列
ADO.NET快马加鞭

ADO.NET快马加鞭Table_1Command.CommandType
=CommandType.Text;
ADO.NET快马加鞭MMCommand.CommandType
=CommandType.Text;
ADO.NET快马加鞭
ADO.NET快马加鞭SqlDataReaderTable_1DataReader;
ADO.NET快马加鞭SqlDataReaderMMDataReader;
ADO.NET快马加鞭
ADO.NET快马加鞭IAsyncResultTable_1AsyncResult;
ADO.NET快马加鞭IAsyncResultMMAsyncResult;
ADO.NET快马加鞭
ADO.NET快马加鞭System.Threading.WaitHandle[]WHandles
=newSystem.Threading.WaitHandle[2];
ADO.NET快马加鞭
ADO.NET快马加鞭
//封装等待对共享资源的独占访问的操作系统特定的对象。
ADO.NET快马加鞭
System.Threading.WaitHandleTable_1Whandle;
ADO.NET快马加鞭System.Threading.WaitHandleMMWhandle;
ADO.NET快马加鞭
ADO.NET快马加鞭
try
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
ADO.NET快马加鞭DBCon.Open();
ADO.NET快马加鞭Table_1AsyncResult
=Table_1Command.BeginExecuteReader();
ADO.NET快马加鞭MMAsyncResult
=MMCommand.BeginExecuteReader();
ADO.NET快马加鞭
ADO.NET快马加鞭Table_1Whandle
=Table_1AsyncResult.AsyncWaitHandle;
ADO.NET快马加鞭MMWhandle
=MMAsyncResult.AsyncWaitHandle;
ADO.NET快马加鞭
ADO.NET快马加鞭WHandles[
0]=Table_1Whandle;
ADO.NET快马加鞭WHandles[
1]=MMWhandle;
ADO.NET快马加鞭
ADO.NET快马加鞭System.Threading.WaitHandle.WaitAny(WHandles);
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
for(intindex=0;index<2;index++)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
//--------返回完成执行等待句柄索引该数据在WHandles索引里面的某个
ADO.NET快马加鞭
intwhindex=System.Threading.WaitHandle.WaitAny(WHandles);
ADO.NET快马加鞭
switch(whindex)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
//注意这里必须和上面装入WHandles集合的索引一样
ADO.NET快马加鞭
case0:
ADO.NET快马加鞭Table_1DataReader
=Table_1Command.EndExecuteReader(Table_1AsyncResult);
ADO.NET快马加鞭GridView1.DataSource
=Table_1DataReader;
ADO.NET快马加鞭GridView1.DataBind();
ADO.NET快马加鞭
break;
ADO.NET快马加鞭
case1:
ADO.NET快马加鞭
ADO.NET快马加鞭MMDataReader
=MMCommand.EndExecuteReader(MMAsyncResult);
ADO.NET快马加鞭GridView2.DataSource
=MMDataReader;
ADO.NET快马加鞭GridView2.DataBind();
ADO.NET快马加鞭
ADO.NET快马加鞭
break;
ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭
catch(System.Exception)
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭
ADO.NET快马加鞭}

ADO.NET快马加鞭
finally
ADO.NET快马加鞭ADO.NET快马加鞭
ADO.NET快马加鞭{
ADO.NET快马加鞭DBCon.Close();
ADO.NET快马加鞭}

ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭
ADO.NET快马加鞭TimeSpannot
=DateTime.Now-old;
ADO.NET快马加鞭Label1.Text
=not.Seconds.ToString();
ADO.NET快马加鞭}

~~上面的可是高级应用--不过在怎么提速安全第一
首先要设置三台服务器~~或者是三个sqlserver实例咯

ADO.NET快马加鞭

主要服务器为.
景象服务器为./Partner
观察者服务器为./Witness

然后再连接字符串中设置 FailOver Parter="./Partner"即可

--当往主服务器中插入数据的时候竟象服务器也会插入数据,如果主服务器停止工作则景象服务器被观察者服务器设置为主服务器ADO.NET快马加鞭

相关文章:

  • 2021-05-23
  • 2022-12-23
  • 2022-03-08
  • 2021-07-31
  • 2022-12-23
  • 2021-12-04
  • 2022-01-01
猜你喜欢
  • 2022-02-04
  • 2022-01-23
  • 2021-05-01
  • 2022-01-23
  • 2022-01-25
  • 2021-12-30
  • 2022-12-23
相关资源
相似解决方案