這篇文章將為大家詳細(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è)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了紫金免費建站歡迎大家使用!
不論是桌面客戶端還是Web應(yīng)用通常會出現(xiàn)處理時間較長的操作,為了在這段時間內(nèi)不影響用戶與應(yīng)用之間的交互體驗,開發(fā)人員通常會使用異步調(diào)用技術(shù),使得比較復(fù)雜的邏輯操作由異步進(jìn)行,用戶仍然可以繼續(xù)使用應(yīng)用,不會有無響應(yīng)的等待情況出現(xiàn)。
通過一個簡單的實例演示如何在Windows 8 應(yīng)用中使用異步編程。首先我們來編寫一個“Get Blogs”按鈕,點擊它可以從Windows Blog中獲取博客列表。當(dāng)然獲取博客信息的過程是由異步進(jìn)行的,這個過程中為了測試用戶仍然可以與應(yīng)用交互,我們再設(shè)計一個“Change Text”用來修改waitingText的內(nèi)容。
代碼
接下來為“Get Blogs”按鈕添加Click事件,getBlogs_Click與以往Click事件不同之處就在于多了一個async關(guān)鍵字,看到Async就說明下面的內(nèi)容要通過異步方法來實現(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); ObservableCollectionblogData = new ObservableCollection (); 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)在應(yīng)用已經(jīng)通過異步方式獲取Blog內(nèi)容,這是我們可以點擊“Change Text”來驗證一下用戶是否可以繼續(xù)使用應(yīng)該的其他功能。
點擊“Get Blogs”后會出現(xiàn)“Loading Blogs…”的字樣,說明此事異步調(diào)用已經(jīng)啟動。
在獲取到博客內(nèi)容前點擊“Change Text”,剛才的文字會變?yōu)椤癙lease Waiting…”,說明當(dāng)異步調(diào)用時用戶仍然可以與應(yīng)用進(jìn)行交互。
異步調(diào)用完成后,文字部分又被更新為“Completed!”。
至此,關(guān)于異步調(diào)用的開發(fā)就完成了。本篇內(nèi)容只是異步調(diào)用的一種類型,當(dāng)然還有許多其他類型的API可以供大家使用,而且包含C#、VB、JS多種語言開發(fā)。
關(guān)于怎么進(jìn)行Windows 8應(yīng)用開發(fā)中的異步調(diào)用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。