mobile开发中的数据同步

本文介绍了一个异步调用WebService的示例,包括如何设置超时时间、发起下载请求及通过回调方法处理返回的数据。特别关注了如何在回调中处理UI更新,确保线程安全。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

异步调用webservice,上传和下载数据.

调用webservice
private void btnDataSynchronize_Click(object sender, EventArgs e)
{
        suisuichao.Service service = new suisuichao.Service();
        service.Timeout = 3600000;
        service.BeginDownLoadAllSelect(strServerUsername, strServerPassword, strSynchronizeTime, new AsyncCallback(MyCallback), service); 
}
回调方法
public void MyCallback(IAsyncResult iar)
{
        try
        {
                suisuichao.Service service = (suisuichao.Service)iar.AsyncState;
                ds = service.EndDownLoadAllSelect(iar);
         }
        catch
       {
                  throw new Exception("不能連接到服務器,請檢查您的網絡是否暢通.");
      }
      //分析ds中的数据,处理数据,更新UI
     //需要注意的是,此时需要使用
  /* if (this.InvokeRequired)
                    this.Invoke(new SetStatus(SetProcessStatus));

                if (ds.Tables[0].TableName.ToUpper() == "ERROR")
                {
                    this.Invoke(new SetStatus(SetErrorStatusAgain));
                    return;
                }*/类似代码来调用页面上的UI控件,或者更新它的状态
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值