網站建設如何實現C#異步調用
2010/8/13 10:04:45

  網站建設要實現C#異步調用,首先要啟動C#異步調用,然后在檢索C#異步調用。通常情況下,我們使用BeginInvoke方法啟動C#異步調用,用EndInvoke方法檢索C#異步調用結果。BeginInvoke方法與需要異步執行的方法具有相同的參數,BeginInvoke立即返回,不等待C#異步調用完成。BeginInvoke返回IasyncResult,可用于監視調用進度;EndInvoke方法之前要調用BeginInvoke,如果C#異步調用未完成,EndInvoke將一直阻塞到C#異步調用完成。EndInvoke的參數包括您需要異步執行的方法的out和ref參數以及由BeginInvoke返回的IAsyncResult。
  使用BeginInvoke和EndInvoke進行C#異步調用的常用方法
  一、使用 WaitHandle 等待異步調用
  等待 WaitHandle 是一項常用的線程同步技術。您可以使用由 BeginInvoke 返回的 IAsyncResult 的 AsyncWaitHandle 屬性來獲取 WaitHandle。C#異步調用完成時會發出 WaitHandle 信號,而您可以通過調用它的 WaitOne 等待它。如果您使用 WaitHandle,則在C#異步調用完成之后,但在通過調用 EndInvoke 檢索結果之前,可以執行其他處理。
  二、異步調用完成時執行回調方法
  如果啟動異步調用的線程不需要處理調用結果,則可以在調用完成時執行回調方法?;卣{方法在 ThreadPool 線程上執行。要使用回調方法,必須將代表該方法的 AsyncCallback 委托傳遞給 BeginInvoke。也可以傳遞包含回調方法將要使用的信息的對象。
  三、輪詢異步調用完成
  您可以使用由 BeginInvoke 返回的 IAsyncResult 的 IsCompleted 屬性來發現C#異步調用何時完成。從用戶界面的服務線程中進行C#異步調用時可以執行此操作。輪詢完成允許用戶界面線程繼續處理用戶輸入。
  四、使用 EndInvoke 等待異步調用
  異步執行方法的最簡單方式是以 BeginInvoke 開始,對主線程執行一些操作,然后調用 EndInvoke。EndInvoke 直到C#異步調用完成后才返回。這種技術非常適合網站建設的文件或網絡操作,但是由于它阻塞 EndInvoke,所以不要從用戶界面的服務線程中使用它。

返回列表
返回首頁 主站蜘蛛池模板: 欧美丰满熟妇xxxx| 草莓视频秋葵视频在线观看ios| 女大学生的沙龙| 久久久久久亚洲精品中文字幕| 欧美成人免费一区二区| 免看**毛片一片成人不卡| 色www永久免费| 国产在线视频网| 亚洲人成网站看在线播放| 国内精品久久久久伊人av| xxxx日本免费| 成人影院wwwwwwwwwww| 久久夜色精品国产噜噜亚洲AV | 两个人的视频www免费| 日本精品少妇一区二区三区 | 九九精品99久久久香蕉| 欧美特黄视频在线观看| 人禽无码视频在线观看| 精品国产av一二三四区| 国产xxxxxx久色视频在| 高清一级做a爱免费视| 国产欧美综合一区二区三区| 亚洲国产成人资源在线软件| 蜜桃视频在线观看官网| 国产精品100页| 97久久免费视频| 日本理论片2828理论片| 亚洲av无码乱码国产精品fc2| 欧美日本国产VA高清CABAL| 亚洲视频在线免费| 看一级毛片女人洗澡| 午夜无码伦费影视在线观看| 自拍另类综合欧美小说| 国产亚洲精品精品国产亚洲综合| 黄页网址大全免费观看35| 国产特级毛片aaaaaa| **一级一级毛片免费观看| 国产视频一区二| 99久久久精品免费观看国产| 天天操天天爱天天干| www.中文字幕.com|