日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Windows8應(yīng)用開發(fā)之異步調(diào)用

 不論是桌面客戶端還是Web應(yīng)用通常會(huì)出現(xiàn)處理時(shí)間較長(zhǎng)的操作,為了在這段時(shí)間內(nèi)不影響用戶與應(yīng)用之間的交互體驗(yàn),開發(fā)人員通常會(huì)使用異步調(diào)用技術(shù),使得比較復(fù)雜的邏輯操作由異步進(jìn)行,用戶仍然可以繼續(xù)使用應(yīng)用,不會(huì)有無(wú)響應(yīng)的等待情況出現(xiàn)。

成都創(chuàng)新互聯(lián)主營(yíng)榆樹網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開發(fā),榆樹h5重慶小程序開發(fā)搭建,榆樹網(wǎng)站營(yíng)銷推廣歡迎榆樹等地區(qū)企業(yè)咨詢

本篇將通過一個(gè)簡(jiǎn)單的實(shí)例演示如何在Windows 8 應(yīng)用中使用異步編程。首先我們來編寫一個(gè)“Get Blogs”按鈕,點(diǎn)擊它可以從Windows Blog中獲取博客列表。當(dāng)然獲取博客信息的過程是由異步進(jìn)行的,這個(gè)過程中為了測(cè)試用戶仍然可以與應(yīng)用交互,我們?cè)僭O(shè)計(jì)一個(gè)“Change Text”用來修改waitingText的內(nèi)容。

代碼

 
 
 
 
  1.  
  2.      
  3.         
  4.                    Style="{StaticResource BasicTextStyle}"/> 
  5.         
  6.                   VerticalAlignment="Top" HorizontalAlignment="Left" Height="550" 
  7.                   Margin="50,10,0,0" Width="650"/> 
  8.      
  9.      
  10.         
  11.                    Style="{StaticResource BasicTextStyle}" /> 
  12.         
  13.                 Click="getBlogs_Click"  /> 
  14.         
  15.                 Width="150" Click="changeText_Click" /> 
  16.      
  17.  

接下來為“Get Blogs”按鈕添加Click事件,getBlogs_Click與以往Click事件不同之處就在于多了一個(gè)async關(guān)鍵字,看到Async就說明下面的內(nèi)容要通過異步方法來實(shí)現(xiàn)。方法中通過SyndicationClient.RetrieveFeedAsync獲取博客內(nèi)容,并通過await操作符告知應(yīng)用要調(diào)用異步操作,且不影響用戶正常交互。如果不使用的異步調(diào)用的話,用戶只能等待所有博客內(nèi)容加載完成后,才能繼續(xù)使用該應(yīng)用。

 
 
 
 
  1. private async void getBlogs_Click(object sender, RoutedEventArgs e) {      
  2. waitingText.Text = "Loading Blogs...";      
  3.  SyndicationClient client = new SyndicationClient();     
  4.  client.BypassCacheOnRetrieve = true;      
  5.  Uri feedUri = new Uri("http://blogs.windows.com/windows/b/bloggingwindows/atom.aspx");      
  6.  try     
  7.  {        
  8.   SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);      
  9.     ObservableCollection blogData = new ObservableCollection();                   
  10. listTitle.Text = feed.Title.Text;                 
  11.   foreach (SyndicationItem item in feed.Items)      
  12.     {             blogData.Add(new BlogItem()        
  13.       {                 Author = item.Authors[0].Name.ToString(),          
  14.         PubDate = item.PublishedDate.Year.ToString() + "/" +                  
  15.          item.PublishedDate.Month.ToString() + "/" +                        
  16.    item.PublishedDate.Day.ToString(),           
  17.        Title = item.Title.Text       
  18.        });         }      
  19.     blogList.ItemsSource = blogData;                 
  20.  waitingText.Text = "Completed!";  
  21.     }    
  22.   catch (Exception ex)  
  23.     {      
  24.     waitingText.Text = "Can't load the page:" + ex.ToString();     } } 

演示

運(yùn)行程序點(diǎn)擊“Get Blogs”按鈕,現(xiàn)在應(yīng)用已經(jīng)通過異步方式獲取Blog內(nèi)容,這是我們可以點(diǎn)擊“Change Text”來驗(yàn)證一下用戶是否可以繼續(xù)使用應(yīng)該的其他功能。

點(diǎn)擊“Get Blogs”后會(huì)出現(xiàn)“Loading Blogs…”的字樣,說明此事異步調(diào)用已經(jīng)啟動(dòng)。

在獲取到博客內(nèi)容前點(diǎn)擊“Change Text”,剛才的文字會(huì)變?yōu)椤癙lease Waiting…”,說明當(dāng)異步調(diào)用時(shí)用戶仍然可以與應(yīng)用進(jìn)行交互。

異步調(diào)用完成后,文字部分又被更新為“Completed!”。

至此,關(guān)于異步調(diào)用的開發(fā)就完成了。本篇內(nèi)容只是異步調(diào)用的一種類型,當(dāng)然還有許多其他類型的API可以供大家使用,而且包含C#、VB、JS多種語(yǔ)言開發(fā)。

原文鏈接:http://www.cnblogs.com/gnielee/archive/2012/10/28/windows9-app-develop-async-programming.html


網(wǎng)頁(yè)名稱:Windows8應(yīng)用開發(fā)之異步調(diào)用
文章分享:http://m.5511xx.com/article/djdepeg.html