Win8.1应用开发之异步编程

Win8.1应用开发之异步编程

大家好,又见面了,我是全栈君。

在win8应用商店开发时,我们会遇到很多异步方法。它们存在的目的就是为了确保你的应用在运行须要大量时间的任务时仍能保持良好的响应,也就是说调用异步API是为了响应用户的操作。设想一下我们点击一个Button,会从网上下载一些信息,假设没有异步。我们就不得不等它下载完才干继续进行操作。

为了能在下载时保持响应。windows提供了一个用于下载源的异步方法SyndicationClient.RetrieveFeedAsync

// Put the keyword, async on the declaration of the event handler.
private async void Button_Click_1(object sender, RoutedEventArgs e)
{

    Windows.Web.Syndication.SyndicationClient client = new SyndicationClient();

    // Force the SyndicationClient to download the information.
    client.BypassCacheOnRetrieve = true;

    Uri feedUri
        = new Uri("http://windowsteamblog.com/windows/b/windowsexperience/atom.aspx");

    try
    {
        // Call SyndicationClient RetrieveFeedAsync to download the list of blog posts.
        SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);

        // The rest of this method executes after await RetrieveFeedAsync completes.
        rssOutput.Text = feed.Title.Text + Environment.NewLine;

        foreach (SyndicationItem item in feed.Items)
        {
            rssOutput.Text += item.Title.Text + ", " +
                             item.PublishedDate.ToString() + Environment.NewLine;
        }
    }
    catch (Exception ex)
    {
        // Log Error.
        rssOutput.Text =
            "I'm sorry, but I couldn't load the page," +
            " possibly due to network problems." +
            "Here's the error message I received: "
            + ex.ToString();
    }
}

异步方法的名字以Async结尾,在调用异步方法时须要使用运算符await。告知编译器这是个异步方法。要注意要在使用了await运算符的方法(如上为Button_Click_1)的声明中加上keywordasync。

事实上上面程序的运行流为:当运行到await作用的异步方法时,await之后的代码要等到异步方法完毕并返回才干运行,但在异步方法运行期间。我们仍然能与应用程序的其它功能进行交互。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116118.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • clion永久激活码[最新免费获取]

    (clion永久激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~6EK6WKOHUX-eyJsaWNlbnNlSWQiOi…

  • 数字证书理解(CA证书签名原理)[通俗易懂]

    数字证书理解(CA证书签名原理)[通俗易懂]目的为了防止中间人攻击和钓鱼基础概念(要求预先了解的知识概念)对称密钥体系(对称加密)和非对称密钥体系(非对称加密)都提供2份秘钥。公钥私钥是概念上的,发布出去的为公钥,留在手上的为私钥,实质上不存在公私钥区别。特殊的:在实际操作中,生成RSA(特别的:一种加密方式)密钥时会有两个秘钥,其中一份包含另一份的完整信息【此时默认命名为私钥】——->这就是为什么私钥可以推导出公…

  • 常见JVM面试题及答案整理[通俗易懂]

    常见JVM面试题及答案整理[通俗易懂]前言总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新。1.什么情况下会发生栈内存溢出。思路:描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。我的答案:栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作…

  • jmeter安装教程

    jmeter安装教程基于windows,jmeter4.0版本。1.下载安装包地址:http://jmeter.apache.org/download_jmeter.cgi2.解压,配置环境2.1新增系统变量JMETER_HOME变量值:E:\developer\apache-jmeter-4.0注意,根据自己的路径配置,到这一级就好了。2.2配置classpath在…

  • Git下载安装及设置详细教程

    Git下载安装及设置详细教程文章作者:Wendell原文地址:https://www.jianshu.com/p/a152f82c5e4a转载请注明出处!一、安装前准备  1.廖雪峰老师Git教程:推荐Git入门教程。  2.按照自己的系统版本下载Git软件,我的操作系统:Windows764位,安装版本为Git-2.18.0-64-bit.exe(截至201…

  • 服务器监控系统应有哪些功能,公安视频监控系统需要具备哪些功能「建议收藏」

    服务器监控系统应有哪些功能,公安视频监控系统需要具备哪些功能「建议收藏」现在视频监控系统已经开始与公安管理联动起来,有效保护公共安全,对于公安这样重要的执法部门来说,高清化、无线化、远程、实时的监控是行业监控安全运作必备的前提条件。除此以外,公安视频监控系统还需要具备哪些功能?1、应急指挥调度功能①实现紧急情况的收集、显示、上报功能。即在指挥中心内能通过网络传输和其他通信方式实时接收、显示、上报紧急情况的现场文字、图片、语音信息,并能通过终端服务器和显示屏随时调阅紧急…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号