// 同步
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(); // 返回结果 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。