.net 2.0 webservice 异步调用在winform中的使用例子。

webservice在vs2003和asp.net中的异步调用都会用到begin[函数] ,但到了2.0时代的winform中如果web引用后,在其web生成的reference.cs中这个begin[函数] 和 end[函数] 就不再出现。取代的是一个 *completed事件。

下面是一个简单的例子。winform事例。

服务器端

   [WebMethod]
    public string HelloWorld2(string strName) {
        System.Threading.Thread.Sleep(5000);
        return "Hello World 2 " +  strName;
    }
    没什么特别,只是用了个sleep增加返回值的时间。

客户端

两个textbox 一个输入字符串,经服务器加工后返回在第二个textbox中显示。

 public Form1()
        {
            InitializeComponent();
            ser=new WinDemoWeb.web26.WebService();
        }

private web26.WebService ser;
         private void btnSet_Click(object sender, EventArgs e)
        {
            
                      ser.HelloWorld2Completed += new web26.HelloWorld2CompletedEventHandler(Hello_Completed);
            ser.HelloWorld2Async(this.txtName.Text);
        }

   private void Hello_Completed(object sender,web26.HelloWorld2CompletedEventArgs e)
        {
            if (e.Error != null)
            {
                this.txtResult.Text = "has error";
            }

            if (e.Cancelled)
            {
                this.txtResult.Text = "has been Cancelled";
            }
            else
            {
                this.txtResult.Text = e.Result;
            }
        }

用这个ser.HelloWorld2Completed 事件就能很简单实现在异步了!

比以前的begin之后又end就好多少。大家用下啦!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值