WebService异步调用

 

 // 同步
        protected void Button1_Click(object sender, EventArgs e)
        {
            TimeSpan ts;

            DateTime dtStart = DateTime.Now; // 开始时间

            MyServiceDemo.MyTestService myService = new WebServiceExample.MyServiceDemo.MyTestService();

            lblResult.Text = myService.DemoOne(txtParm.Text.Trim());  // 同步调用,直接返回结果

            SynMethod(); // 做其它事

            DateTime dtEnd = DateTime.Now;  // 结束时间

            ts = ((TimeSpan)(dtEnd - dtStart));  // 计算时间差

            txtTime.Text = "花费时间为:" + ts.Seconds.ToString() + "秒!";  // 时间差
        }

        //做其它事
        private void SynMethod()
        {

            Thread.Sleep(10000); // 这里本该是要执行的程序, 假如为10秒,休眠代替
        }


        // 异步调用
        protected void Button2_Click(object sender, EventArgs e)
        {
            TimeSpan ts;

            DateTime dtStart = DateTime.Now; // 开始时间

            MyServiceDemo.MyTestService myService = new WebServiceExample.MyServiceDemo.MyTestService();

            myService.DemoOneCompleted += AsynResults;   // 绑定回调事件,DemoOne是webSwevice发布的方法名

            myService.DemoOneAsync(TextBox1.Text);  // 异步调用

            SynMethod(); // 做其它事次

            DateTime dtEnd = DateTime.Now;  // 结束时间

            ts = ((TimeSpan)(dtEnd - dtStart));// 计算时间差

            TextBox2.Text = "花费时间为:" + ts.Seconds.ToString();  // 时间差
        }

        // 异步调用回调方法,方法名可以自己定义,DemoOneCompletedEventArgs =DemoOne(webSwevice发布的方法名)+CompletedEventArgs
        private void AsynResults(object sender, MyServiceDemo.DemoOneCompletedEventArgs e)
        {
            Label1.Text = e.Result.ToString();  // 返回结果
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值