欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

怎么進(jìn)行Windows8應(yīng)用開發(fā)中的異步調(diào)用

這篇文章將為大家詳細(xì)講解有關(guān)怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了紫金免費(fèi)建站歡迎大家使用!

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

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

代碼

<StackPanel Orientation="Horizontal" Grid.Row="1">     <StackPanel>         <TextBlock x:Name="listTitle" Height="40" Width="200"                     Style="{StaticResource BasicTextStyle}"/>         <ListView x:Name="blogList" ItemTemplate="{StaticResource listTemplate}"                   VerticalAlignment="Top" HorizontalAlignment="Left" Height="550"                   Margin="50,10,0,0" Width="650"/>     </StackPanel>     <StackPanel Orientation="Vertical" VerticalAlignment="Top">         <TextBlock x:Name="waitingText" Height="40" Width="200"                     Style="{StaticResource BasicTextStyle}" />         <Button x:Name="getBlogs" Content="Get Blogs" Width="150"                 Click="getBlogs_Click"  />         <Button x:Name="changeText" Content="Change Text" Margin="0,10,0,0"                  Width="150" Click="changeText_Click" />     </StackPanel> </StackPanel>

接下來為“Get Blogs”按鈕添加Click事件,getBlogs_Click與以往Click事件不同之處就在于多了一個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)用。

private async void getBlogs_Click(object sender, RoutedEventArgs e) {      waitingText.Text = "Loading Blogs...";       SyndicationClient client = new SyndicationClient();      client.BypassCacheOnRetrieve = true;       Uri feedUri = new Uri("http://blogs.windows.com/windows/b/bloggingwindows/atom.aspx");       try      {          SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);          ObservableCollection<BlogItem> blogData = new ObservableCollection<BlogItem>();                   listTitle.Text = feed.Title.Text;                   foreach (SyndicationItem item in feed.Items)          {             blogData.Add(new BlogItem()              {                 Author = item.Authors[0].Name.ToString(),                  PubDate = item.PublishedDate.Year.ToString() + "/" +                           item.PublishedDate.Month.ToString() + "/" +                           item.PublishedDate.Day.ToString(),                  Title = item.Title.Text              });         }          blogList.ItemsSource = blogData;                  waitingText.Text = "Completed!";      }      catch (Exception ex)      {          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”后會出現(xiàn)“Loading Blogs&hellip;”的字樣,說明此事異步調(diào)用已經(jīng)啟動。

怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用

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

怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用

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

怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用

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

怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用

關(guān)于怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

分享文章:怎么進(jìn)行Windows8應(yīng)用開發(fā)中的異步調(diào)用
本文網(wǎng)址:http://chinadenli.net/article40/ihdoeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站外貿(mào)建站用戶體驗(yàn)微信公眾號動態(tài)網(wǎng)站Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站