中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

C#~異步編程在項目中的(de)使(shi)用

一些閑話

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

項(xiang)目用到了它

我(wo)(wo)們(men)(men)(men)這(zhe)(zhe)個項(xiang)目是個直(zhi)播(bo)功(gong)能的(de)項(xiang)目,直(zhi)播(bo)的(de)內(nei)容存儲在第(di)(di)三方(fang),它們(men)(men)(men)為我(wo)(wo)們(men)(men)(men)提(ti)供(gong)了相(xiang)關的(de)接(jie)口,web服務的(de)(soap的(de),目前比較(jiao)流行RestFul的(de)),當(dang)我(wo)(wo)們(men)(men)(men)老(lao)師端完(wan)成(cheng)了直(zhi)播(bo)后(hou),需要關閉它,然后(hou)第(di)(di)三方(fang)會通知我(wo)(wo)們(men)(men)(men),我(wo)(wo)們(men)(men)(men)接(jie)到(dao)通過后(hou),將課(ke)程的(de)狀態改為"完(wan)成(cheng)"就可以了,在這(zhe)(zhe)里(li),我(wo)(wo)們(men)(men)(men)需要用到(dao)了錄課(ke)功(gong)能,錄課(ke)是第(di)(di)三方(fang)在老(lao)師結束直(zhi)播(bo)后(hou)才進行的(de)工作,所以,當(dang)第(di)(di)三方(fang)通知我(wo)(wo)們(men)(men)(men)完(wan)成(cheng)后(hou), 這(zhe)(zhe)時,錄課(ke)的(de)視頻(pin)還沒有寫(xie)在第(di)(di)三方(fang)服務器上(shang),所以,我(wo)(wo)們(men)(men)(men)必(bi)須要讓(rang)程序sleep一(yi)下(xia),再進行獲取(qu)工作,這(zhe)(zhe)種(zhong)情況,就用到(dao)了異步(bu)和線程的(de)知識了.

項(xiang)目中的代碼

我自己封裝了一(yi)個根據時間(jian)段(duan)去(qu)調用(yong)WEB服務(wu)的方法(fa),下面(mian)是代碼

        /// <summary>
        /// 線程輪訓服務
        /// </summary>
        /// <param name="ws">要輪訓的代(dai)碼塊</param>
        /// <param name="interval">間隔(ge)的秒(miao)數</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("點播輪訓調(diao)用時(shi)間(jian):{0}秒,發(fa)生(sheng)的(de)時(shi)間(jian):{1}秒", i, DateTime.Now));
                    break;
                }
            }
            return url;
        }

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

posted @ 2014-07-25 11:49  張占嶺  閱讀(2013)  評論(3)    收藏  舉報