99偷拍视频精品区一区二,口述久久久久久久久久久久,国产精品夫妇激情啪发布,成人永久免费网站在线观看,国产精品高清免费在线,青青草在线观看视频观看,久久久久久国产一区,天天婷婷久久18禁,日韩动漫av在线播放直播

怎么進行Windows8應用開發(fā)中的異步調(diào)用

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

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

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

通過一個簡單的實例演示如何在Windows 8 應用中使用異步編程。首先我們來編寫一個“Get Blogs”按鈕,點擊它可以從Windows Blog中獲取博客列表。當然獲取博客信息的過程是由異步進行的,這個過程中為了測試用戶仍然可以與應用交互,我們再設計一個“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)容要通過異步方法來實現(xiàn)。方法中通過SyndicationClient.RetrieveFeedAsync獲取博客內(nèi)容,并通過await操作符告知應用要調(diào)用異步操作,且不影響用戶正常交互。如果不使用的異步調(diào)用的話,用戶只能等待所有博客內(nèi)容加載完成后,才能繼續(xù)使用該應用。

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();     } }

演示

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

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

怎么進行Windows 8應用開發(fā)中的異步調(diào)用

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

怎么進行Windows 8應用開發(fā)中的異步調(diào)用

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

怎么進行Windows 8應用開發(fā)中的異步調(diào)用

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

怎么進行Windows 8應用開發(fā)中的異步調(diào)用

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

分享文章:怎么進行Windows8應用開發(fā)中的異步調(diào)用
本文網(wǎng)址:http://www.yijiale78.com/article40/ihdoeo.html

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

廣告

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

成都做網(wǎng)站