`
zhangziyueup
  • 浏览: 1168322 次
文章分类
社区版块
存档分类
最新评论

.NET异步方法调用的例子

 
阅读更多

原文:http://www.cnblogs.com/rockniu/archive/2009/11/03/1595031.html

这样写的好处是TestMethod在同步和异步线程下,都能顺利地被调用.

MethodInvoker和Action都是.NET 2.0内置的Delegate类型,让你方法地回调一个没有参数的方法,而不用自己去定义新的Delegate.

private void button1_Click(object sender, EventArgs e)
{
    Thread t = new Thread(new ThreadStart(TestMethod));
    t.Start();
}

public void TestMethod()
{
    if (this.InvokeRequired)
    {
        //MethodInvoker handler = new MethodInvoker(TestMethod);
        Action handler = new Action(TestMethod);
        
        this.Invoke(handler, null);
    }
    else
    {
        this.Text = "Async Invoked.";
        MessageBox.Show("Async Invoked");
    }
}

.NET 3.0中有一个Action<T>,支持四个Generic的参数.

System.Action<int, int, int, int> handler2 = new Action<int, int, int, int>(Calc);
                this.Invoke(handler2, 1, 2, 3, 4);

public void Calc(int a, int b, int c, int d)
        {
            var r = a + b + c + d;
        }
分享到:
评论

相关推荐

    C#.net_经典编程例子400个

    122 实例092 为控件制作立体效果 122 实例093 获取控件名称和内容 124 第3章 组件应用 127 3.1 BackgroundWorker组件 128 实例094 BackgroundWorker组件执行异步操作 128 3.2 ...

    异步调用Web Service程序 小例子,C++.net源代码编写

    异步调用Web Service程序 小例子,C++.net源代码编写

    Asp.net 2.0新增特性异步页功能处理过程

    使用Asp.net 2.0新增特性异步页功能处理过程 简单介绍了客户端异步实现原理和实例里面涉及多线程的例子 当未使用异步页时,一个线程只能为同一个页面的请求服务. 即使页面请求过程中处理其它的I/O等操作 时,此线程也...

    c#Winform异步通信例子(C/S架构)

    基于.net framework3.5 ,C# winform 实现C/S架构的异步通信例子 主要实现 1.C异步TCP连接S 2.C之间异步UDP发送信息

    asp.net ajax异步获取数据...前台直接调用后台方法版..

    ajax前台直接调用后台方法 超简单 从此ajax使用就这么简单了 哈哈 带使用例子 支持IE6及IE6以上的任何浏览器

    jquery异步调用页面后台方法&amp;#8207;(asp.net)

    给出了两个简单的例子,无参数的和有参数的,返回的都是json数据。

    Ajax无刷新异步调用后台方法获取系统时间显示

    Ajax无刷新异步调用后台方法获取系统时间显示,简单入门例子

    Data Abstract for android 多帐套例子(异步调用版本,支持android 4.0安全要求)

    谷歌在4.0系统以后就禁止在主线程中进行网络访问了,虽然可以强行允许主线程访问网络(在上一个资源例子就是使用这种方式),但这么做并不安全,所以特意写了一个全异步调用访问网络的例子 例子中需要使用的RO SDK...

    ASP.Net_JoyrockDemo

    ASP.Net_JoyrockDemo:调用Jayrock.dll、Jayrock.Json.dll、json.js ASP.net小例子。异步的又一种方式。

    asp.net知识库

    .NET中的方法及其调用(一) 如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和...

    亮剑.NET深入体验与实战精要2

    7.8 实现异步调用Web Service 297 7.9 如何保证Web Service的安全 299 7.9.1 通过SoapHeader来增强 Web Service的安全性 299 7.9.2 采用SSL实现加密传输 302 7.9.3 访问IP限制 315 7.10 Web Service开发中需要注意的...

    .NET中的async和await关键字使用及Task异步调用实例

    主要介绍了.NET中的async和await关键字使用及Task异步调用实例,本文还包含了取消执行和显示进度的例子,需要的朋友可以参考下

    .NET API接口和返回的版本

    是的,在 JavaScript 中远程调用都是采用异步方式的,也就是说要获得结果,需要用回调函数,回调函数作为远程方法的最后一个参数,回调函数也有四个参数,这里我们只使用第一个参数,也就是返回结果 result,通过 ...

    亮剑.NET深入体验与实战精要3

    7.8 实现异步调用Web Service 297 7.9 如何保证Web Service的安全 299 7.9.1 通过SoapHeader来增强 Web Service的安全性 299 7.9.2 采用SSL实现加密传输 302 7.9.3 访问IP限制 315 7.10 Web Service开发中需要注意的...

    设计模式Callback介绍与实例

    &gt;异步调用:一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。 回调和异步调用的关系非常紧密:使用回调来实现异步消息...

    Joyrock Asp.net Demo

    调用Jayrock.dll、Jayrock.Json.dll、json.js ASP.net小例子。异步的又一种方式。

    C#实现异步发送邮件的方法

    本文实例讲述了C#实现异步发送邮件的方法。分享给大家供大家参考。具体如下: 下面的代码可以实现异步发送邮件,等邮件发送出去后会自动调用回调函数,这样在发送邮件时就不会卡住程序不动了 MailMessage m = new ...

    .Net.Framework3.5开发技术详解[中文][PDF][VOL1]

    14.4 回调的同步设置和异步调用 334 第15章 WCF的事务支持 341 15.1 事务概要 341 15.2 WCF中的事务 343 15.3 创建支持事务的服务 345 第16章 WCF的安全解决方案 353 16.1 认证和授权 353 16.1.1 认证 354 16.1.2 ...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    10.3.5 命令的异步执行 407 10.3.6 dataadapter对象 409 10.3.7 sql server .net数据提供程序 413 10.3.8 ole db .net数据提供程序 413 10.4 dataset组件 413 10.4.1 datatablecollection对象 414 ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    ● 打包和部署ASP.NET应用程序的方法 ● 快速、逻辑地检索、更新和删除数据 本书读者对象 本书适合于有一些ASP.NET基础知识的学习者以及准备迁移到ASP.NET 2.0的有经验的程序员和开发人员。 目录回到顶部↑ 第1...

Global site tag (gtag.js) - Google Analytics