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

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

C#~異步編程在項目中的使用

2019-11-17 03:01:02
字體:
來源:轉載
供稿:網友

C#~異步編程在項目中的使用

一些閑話

對異步編程沒有了解的同學可以看我的這篇文章<C#~異步編程>,今天主要說一下,在項目中怎么就用到了異步編程!在進行WEB開發時,異步這塊我們用的并不多,但當你的項目做到一定規模時,它可以與其它站點(API),其它設置(手機,平板)之間的通訊就多了起來,這時,為了提高UI(瀏覽器,手機終端,平板終端,winform終端)的響應能力,我們就需要引入異步了.

項目用到了它

我們這個項目是個直播功能的項目,直播的內容存儲在第三方,它們為我們提供了相關的接口,web服務的(soap的,目前比較流行RestFul的),當我們老師端完成了直播后,需要關閉它,然后第三方會通知我們,我們接到通過后,將課程的狀態改為"完成"就可以了,在這里,我們需要用到了錄課功能,錄課是第三方在老師結束直播后才進行的工作,所以,當第三方通知我們完成后, 這時,錄課的視頻還沒有寫在第三方服務器上,所以,我們必須要讓程序sleep一下,再進行獲取工作,這種情況,就用到了異步和線程的知識了.

項目中的代碼

我自己封裝了一個根據時間段去調用WEB服務的方法,下面是代碼

        /// <summary>        /// 線程輪訓服務        /// </summary>        /// <param name="ws">要輪訓的代碼塊</param>        /// <param name="interval">間隔的秒數</param>        /// <returns></returns>        PRivate string ThreadPoolService(Func<string> ws, Action<string> logger, params int[] interval)        {            string url = ws();            foreach (int i in interval)            {                Thread.Sleep(i * 1000);                url = ws();                if (!string.IsNullOrWhiteSpace(url))                {                    logger(string.Format("點播輪訓調用時間:{0}秒,發生的時間:{1}秒", i, DateTime.Now));                    break;                }            }            return url;        }

而剩下的工作就是調用它了,這塊內容就與具體項目有關了,在這里就不公開出來了,哈哈.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平果县| 新邵县| 轮台县| 大姚县| 久治县| 苏尼特左旗| 湛江市| 长汀县| 十堰市| 犍为县| 田林县| 沅陵县| 平昌县| 梁山县| 辽宁省| 交城县| 兰考县| 乐亭县| 四川省| 舟曲县| 长岭县| 博爱县| 柞水县| 马尔康县| 利川市| 南丹县| 博湖县| 凤庆县| 邵阳县| 鹤岗市| 邢台县| 南开区| 宁武县| 达州市| 静安区| 宁乡县| 四平市| 措勤县| 崇信县| 曲麻莱县| 彰化市|