亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#使用Socket快速判斷數據庫連接是否正常的方法

2020-01-24 01:54:19
字體:
來源:轉載
供稿:網友

本文實例講述了C#使用Socket快速判斷數據庫連接是否正常的方法。分享給大家供大家參考。具體分析如下:

大家在做項目的時候,一般都是和數據庫有關的。而相信許多人在用代碼打開數據庫的時候,沒有判斷數據庫連接是否成功。如果寫對了還好,但是出錯了,會等老長時間(默認15s,不過 實際響應 可能會更長)。而且還會出現卡死的情況,給用戶的感覺就會變得非常差勁。所以快速判斷數據庫連接是否成功,就顯得尤為重要了。
 
一般情況下,如果連接字符串正確,那么連接到數據庫用的時間一般在5s以內。所以我們可以在連接字符串的最后添加一個等待時間:timeout。如:

復制代碼 代碼如下:
string strCon = "Data Source=192.168.24.66;Initial Catalog=master;User ID=sa;password=123456;Connection Timeout=5";

如果連接不成功,應該在5-8s內做出回應。但是并不能確定一定是連接字符串出錯。如果大量人訪問的話,很可能會出現等待時間超過5s的情況。而且,如果連接不成功,我們依舊最起碼得等待5秒。等待的滋味是不好受的,用戶一定會給你一個叉叉,所以我們還需要用其他辦法來快速判斷。

這里我們用Socket來實現這一功能。(至于Socket是什么,有興趣的朋友可以自己查查資料)

先用Socket來判斷與服務器是否連接成功,然后在進行數據庫操作。

#region 采用Socket方式,測試服務器連接 /// <summary> /// 采用Socket方式,測試服務器連接 /// </summary> /// <param name="host">服務器主機名或IP</param> /// <param name="port">端口號</param> /// <param name="millisecondsTimeout">等待時間:毫秒</param> /// <returns></returns> public static bool TestConnection(string host, int port, int millisecondsTimeout) {   TcpClient client = new TcpClient();   try   {    var ar = client.BeginConnect(host, port, null, null);    ar.AsyncWaitHandle.WaitOne(millisecondsTimeout);    return client.Connected;   }   catch (Exception e)   {    throw e;   }   finally   {    client.Close();   } } #endregion

下面是數據庫的操作,可以根據自己的情況修改。

/// <summary> /// 數據庫連接操作,可替換為你自己的程序 /// </summary> /// <param name="ConnectionString">連接字符串</param> /// <returns></returns> private static bool TestConnection(string ConnectionString) {   bool result = true;   try   {    SqlConnection m_myConnection = new SqlConnection(ConnectionString);    m_myConnection.Open();    //數據庫操作......    m_myConnection.Close();   }   catch (Exception ex)   {    System.Diagnostics.Debug.WriteLine(ex.ToString());    result = false;   }   return result; }

我這里用winForm來測試的。

private void btnSocket_Click(object sender, EventArgs e) {   string strCon = "Data Source=192.168.24.566;Initial Catalog=qmaster;User ID=sa;password=123456";   string[] s=strCon.Split(';');   s = s[0].Split('=');   //獲取IP   string strIP =s[1];   //發送數據,判斷是否連接到指定ip   if (TestConnection(strIP , 1433, 500))   {    //連接成功    MessageBox.Show("Socket Link Succeed","連接服務器");    // 數據庫操作,我這里用了連接測試??筛鶕愕南到y自行修改    if (TestConnection(strCon))     MessageBox.Show("Sql Link Succeed","連接數據庫");    else     MessageBox.Show("Sql Link Failed", "連接數據庫");   }   else    MessageBox.Show("Socket Link Failed","連接服務器"); }

用Socket來測試是否連接到服務器非常方便,也非??旖?,不用讓用戶等待那么長時間,而且這樣做還可以知道是服務器地址出錯,還是數據庫出錯。經測試,如果數據庫地址出錯,在1-3s內即可反饋出結果。提示用戶“Socket Link Failed”。而數據庫名錯誤,則只提示“Sql Link Failed”。

這么方便、快捷、高效、易排錯的方法,你會不會錯過,我不知道,反正我是不會錯過了!

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
爽爽爽爽爽爽爽成人免费观看| 日韩av中文字幕在线播放| 66m—66摸成人免费视频| 性欧美长视频免费观看不卡| 欧美日韩aaaa| 高清亚洲成在人网站天堂| 9.1国产丝袜在线观看| 日韩精品亚洲精品| 久久国产精彩视频| 色妞欧美日韩在线| 国产精品久久久久久久一区探花| 国产精品欧美一区二区三区奶水| 精品国产一区二区三区久久久狼| 久久综合免费视频影院| 国产成人欧美在线观看| 亚洲人成网7777777国产| 国产美女直播视频一区| 亚洲偷欧美偷国内偷| 国产精品18久久久久久麻辣| 国产精品精品一区二区三区午夜版| 欧美巨乳美女视频| 国内偷自视频区视频综合| 在线激情影院一区| 亚洲欧美国产一区二区三区| 97视频在线观看免费高清完整版在线观看| 92国产精品视频| 亚洲欧美成人一区二区在线电影| 亚洲欧美日韩直播| 永久免费精品影视网站| 91香蕉电影院| 亚洲一区美女视频在线观看免费| 国产精品视频中文字幕91| 色综合91久久精品中文字幕| 日韩成人av在线播放| 538国产精品视频一区二区| 韩曰欧美视频免费观看| 亚洲一区二区免费在线| 国产aⅴ夜夜欢一区二区三区| 国产精品免费福利| 日韩成人在线视频网站| 久久偷看各类女兵18女厕嘘嘘| 国产一区二区三区在线观看视频| 91福利视频网| 欧美精品福利在线| 久久五月情影视| 国模精品视频一区二区三区| 北条麻妃99精品青青久久| 日韩美女视频免费在线观看| 精品久久久久久国产| 亚洲老板91色精品久久| zzijzzij亚洲日本成熟少妇| 欧美午夜片欧美片在线观看| 福利视频一区二区| 国产69精品久久久久99| 久久亚洲综合国产精品99麻豆精品福利| 91精品国产自产在线| 国产69精品久久久| 亚洲性日韩精品一区二区| 国产精品欧美激情| 欧美精品18videosex性欧美| 国产在线视频2019最新视频| 4438全国亚洲精品在线观看视频| 麻豆国产精品va在线观看不卡| 国内精品久久久久久影视8| 久久伊人精品一区二区三区| 国产精品久久久久久影视| 亚洲国产精彩中文乱码av在线播放| 成人免费淫片视频软件| 精品久久久久人成| 中文字幕av一区| 久久精品亚洲精品| 亚洲男人天堂古典| 国产福利视频一区二区| 国产精品一区二区久久精品| 精品亚洲一区二区三区| 国产精品久久久久久久久久久久久| 精品中文视频在线| 一本色道久久综合狠狠躁篇的优点| 在线观看日韩视频| 国产精品亚洲аv天堂网| 亚洲成人久久网| 久久九九全国免费精品观看| 亚洲一区二区三区在线视频| 成人国产精品一区二区| 国产精品久久久久久亚洲调教| 国产日韩欧美中文在线播放| 国产精品高清网站| 亚洲成人激情视频| 欧美体内谢she精2性欧美| 国产一区二区日韩精品欧美精品| 久久久久国产精品www| 欧美最猛性xxxxx(亚洲精品)| 久久久久一本一区二区青青蜜月| 国产精品一二三视频| 亚洲综合中文字幕68页| 亚洲免费视频在线观看| 日韩欧美国产黄色| 国产一区二区三区在线看| 亚洲欧美国产日韩天堂区| 日韩男女性生活视频| 日韩暖暖在线视频| 欧美一级淫片videoshd| 欧美成人性色生活仑片| 欧美国产日韩一区二区三区| 精品国内自产拍在线观看| 欧洲美女免费图片一区| 亚洲精品有码在线| 久久69精品久久久久久国产越南| 欧美日韩裸体免费视频| 国自产精品手机在线观看视频| 亚洲天堂男人的天堂| 亚洲国产精品成人精品| 夜夜躁日日躁狠狠久久88av| 亚洲www永久成人夜色| 国产精品高潮粉嫩av| 久久久久日韩精品久久久男男| 91夜夜未满十八勿入爽爽影院| 欧美尺度大的性做爰视频| 国产91久久婷婷一区二区| 成人a级免费视频| 91视频国产精品| 亚洲大胆人体在线| 欧美黑人巨大xxx极品| 色综合久久88色综合天天看泰| 一区二区三区四区精品| 日韩一中文字幕| 国产欧美日韩中文字幕| 中文字幕九色91在线| 日韩欧美亚洲一二三区| 国语自产精品视频在线看| 在线视频欧美性高潮| 久久亚洲电影天堂| 欧美日韩久久久久| 国产日韩欧美综合| 一区二区欧美亚洲| 日韩av影院在线观看| 97在线视频国产| 欧美在线激情视频| 日韩在线中文字幕| 国产精品高清在线| 欧美多人爱爱视频网站| 欧美午夜精品久久久久久久| 日韩在线观看免费网站| 日韩欧美一区二区在线| 91tv亚洲精品香蕉国产一区7ujn| 精品久久中文字幕久久av| 日韩av中文字幕在线播放| 亚洲欧美日韩天堂一区二区| 国产精品久久在线观看| 亚洲一区二区三区成人在线视频精品| 国产精品久久二区| 亚洲成人久久久| 91高潮精品免费porn| 久久精品国产2020观看福利| 国产精品高潮呻吟久久av无限| 日韩免费在线观看视频| 国产精品偷伦免费视频观看的| 中文字幕精品www乱入免费视频| 日韩激情视频在线| 97视频免费在线看| 韩国美女主播一区| 久久精品99久久香蕉国产色戒| 亚洲欧美另类国产| 欧美夫妻性生活xx|