国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

性能優化之——.NET(C#)調用webService獲取客戶端IP地址所屬區域(異步回調)(二)

2019-11-17 02:40:18
字體:
來源:轉載
供稿:網友
性能優化之——.NET(C#)調用webService獲取客戶端ip地址所屬區域(異步回調)(二)

朋友們這次分享的是異步回調不是異步調用哦!

請注意嘍!

功能描述接口地址方法名稱以及參數說明,同上篇:.NET(C#)調用webService獲取客戶端IP地址所屬區域(非異步)(一)(LZ比較懶,不想寫太多哦!(⊙0⊙))

實現代碼如下:

 1 namespace main 2 { 3     class PRogram 4     { 5         public static string Result = string.Empty; 6          7         static void Main(string[] args) 8         { 9           10             Stopwatch sw = Stopwatch.StartNew();11 12             string strIP = "111.13.55.3";//請求的IP地址13 14             Console.WriteLine("===== AsyncInvoke 異步回調開始 =====");15 16             GetCityIpHandler handler = new GetCityIpHandler(GetIp);17 18             ////其核心在于IAsyncResult接口的實現19             IAsyncResult res = handler.BeginInvoke(strIP, new AsyncCallback(GetIpSyn), string.Format("===== 主線程耗時{0}毫秒! =====", sw.ElapsedMilliseconds));20 21             Console.WriteLine("===== 繼續執行其他的事情... =====");22 23             Console.WriteLine("===== AsyncInvoke 異步回調完畢!=====");24 25             sw.Stop();26 27             Console.ReadLine();28 29         }30         public delegate string GetCityIpHandler(string strIp);31         /// <summary>32         /// 同步方法33         /// </summary>34         /// <param name="strIP"></param>35         /// <returns></returns>36         public static string GetIp(string strIp)37         {38             IpAddressSearchWebServiceSoapClient ws = new IpAddressSearchWebServiceSoapClient();39             Stopwatch sw = Stopwatch.StartNew();40             string[] strArea_IP = ws.getCountryCityByIp(strIp);41             sw.Stop();//這里我們進行漫長的調用42             return Result = string.Format("IP歸屬地為{0},查詢耗時為{1}毫秒.", strArea_IP[1], sw.ElapsedMilliseconds);43         }44         /// <summary>45         /// 異步回調方法46         /// </summary>47         /// <param name="result"></param>48         static void GetIpSyn(IAsyncResult result)49         {50             GetCityIpHandler hl = (GetCityIpHandler)((AsyncResult)result).AsyncDelegate;//AsyncResult 繼承自IAsyncResult接口51             Result = hl.EndInvoke(result);52             Console.WriteLine(Result); //打印調用GetIp返回的數據53             object obj = result.AsyncState;54             Console.WriteLine(obj);//打印返回結果:用戶定義的對象,它限定或包含關于異步操作的信息。55         }56     }57 }

測試結果如下:

好了朋友們,得睡了,做個健康的程序員,晚安!^_^


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 家居| 寻乌县| 沾益县| 遂川县| 闻喜县| 华亭县| 蓝田县| 巫溪县| 卓资县| 安宁市| 岑溪市| 文山县| 石家庄市| 景洪市| 望奎县| 内黄县| 鞍山市| 寻甸| 东阿县| 澎湖县| 休宁县| 富宁县| 榆林市| 湘阴县| 永泰县| 时尚| 福建省| 敦化市| 色达县| 岚皋县| 华容县| 五大连池市| 高淳县| 西和县| 双柏县| 九江县| 望谟县| 台中市| 成安县| 饶阳县| 轮台县|