亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么進行Windows 8應用開發中的異步調用

發布時間:2021-10-29 16:41:33 來源:億速云 閱讀:151 作者:柒染 欄目:編程語言

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

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

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

代碼

<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關鍵字,看到Async就說明下面的內容要通過異步方法來實現。方法中通過SyndicationClient.RetrieveFeedAsync獲取博客內容,并通過await操作符告知應用要調用異步操作,且不影響用戶正常交互。如果不使用的異步調用的話,用戶只能等待所有博客內容加載完成后,才能繼續使用該應用。

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”按鈕,現在應用已經通過異步方式獲取Blog內容,這是我們可以點擊“Change Text”來驗證一下用戶是否可以繼續使用應該的其他功能。

點擊“Get Blogs”后會出現“Loading Blogs&hellip;”的字樣,說明此事異步調用已經啟動。

怎么進行Windows 8應用開發中的異步調用

在獲取到博客內容前點擊“Change Text”,剛才的文字會變為“Please Waiting&hellip;”,說明當異步調用時用戶仍然可以與應用進行交互。

怎么進行Windows 8應用開發中的異步調用

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

怎么進行Windows 8應用開發中的異步調用

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

怎么進行Windows 8應用開發中的異步調用

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永新县| 九寨沟县| 扶沟县| 长兴县| 吉林市| 洪洞县| 巧家县| 乌海市| 柘荣县| 绥阳县| 永登县| 冷水江市| 卓尼县| 绥化市| 原阳县| 青河县| 平泉县| 息烽县| 喀喇沁旗| 杭州市| 灯塔市| 乐至县| 溆浦县| 清丰县| 吉林市| 洱源县| 沁阳市| 报价| 大邑县| 桦川县| 班玛县| 中牟县| 开原市| 临澧县| 阜康市| 乐至县| 青海省| 尚志市| 东乡县| 海宁市| 惠安县|