关于webservice的异步调用简单实例

原创 2004年07月20日 15:02:00

关于webservice的异步调用简单实例
无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的,

下面,我们就以异步调用一个webservice 为例作说明。
这是一个webservice

    <?XML:NAMESPACE PREFIX = WebMethod(Description />_
    Public Function delCurTable(ByVal tbName As String) As Boolean
        Try
            Return True
        Catch ex As Exception
            Return False
        End Try
    End Function

关于这个webservice的同步调用方法,我就不做说明了
异步调用:
 Private a As vbwebservice.DataManage'定义一个webservice变量
  Dim ar As IAsyncResult
public sub Callback1(byval ar as IAsyncResult)
''这里可以不写任何代码
'这里的代码在调用方运行结束后,开始运行
end sub

#region "异步调用"
private sub btnStart_Click()
dim cb as asyncallback=new asyncallback(address(me.callback1))
ar=a.begindelcurtable("zdf",cb,a)
end sub


private sub btnEnd_Click()
if ar is nothing then
exit sub
end if
if  ar.IsCompleted Then
dim m as boolean=a.enddelcurtable(ar)
messagebox.show(m.tostring)
end if
end sub
#end region
注意:“返回异步调用的结果一次只能调用一次,如果想再执行一遍,就必须重新执行一遍begin的方法”
以上是vb.net的用法,下面是c#的用法
CWebService.DataManage  a;
  System.IAsyncResult ar;
  private void Form1_Load(object sender, System.EventArgs e)
  {
   a=new CWebService.DataManage();
  }

  public void CallBack1(System.IAsyncResult ar)
  {
   string a;
   a=ar.AsyncState.ToString();
   switch (a)
   {
    case "zhang":
     MessageBox.Show("zhang");
     break;
    case "wang":
     MessageBox.Show("wang");
     break;
    default:
     MessageBox.Show("default");
     break;

   }

  }

  private void btnStart_Click(object sender, System.EventArgs e)
  {
   System.AsyncCallback cb=new AsyncCallback(this.CallBack1);
ar=a.BegindelCurTable("zhang",cb,"zhang");
  }

  private void btnEnd_Click(object sender, System.EventArgs e)
  {
   if(ar==null)
   {
    MessageBox.Show("null");
    return ;
   }
   if(ar.IsCompleted )
   {
    bool m=a.EnddelCurTable(ar);
    MessageBox.Show(m.ToString());
   }
   else
   {
    MessageBox.Show("为完成");
   }
  }

(Description:="试验")>

[.Net码农]C# WebService异步处理/异步调用详解

http://www.csframework.com/archive/5/arc-5-20110612-1593.htm C# WebService异步处理/异步调用详解...
  • CrackLibby
  • CrackLibby
  • 2016年02月25日 15:44
  • 2967

cxf webService异步调用模式

轮询方法(Polling approach) - 这种情况下调用远程方法,我们可以调用一个特殊的方法;该方法没有输出参数,但是返回一个 javax.xml.ws.Response 实例。可以轮询该 R...
  • xwnxwn
  • xwnxwn
  • 2016年03月16日 19:43
  • 1267

CXF异步WebService发布和调用

最近工作需要接触CXF异步webservice的发布和调用,在网上Google并捣鼓了好一阵子,总算成功了。毕竟这方面的资料比较少,自己总结一下写下这篇博文。本文将描述如何利用CXF来发布和调用异步的...
  • d6619309
  • d6619309
  • 2016年09月28日 21:26
  • 2096

CXF入门教程(5) -- webService异步调用模式

除了教程(3)中介绍的常见的同步调用模式,CXF还支持如下两种形式的异步调用模式: 轮询方法(Polling approach) - 这种情况下调用远程方法,我们可以调用一个特殊的方...
  • changpingchen
  • changpingchen
  • 2013年06月07日 15:59
  • 2791

CXF简单示例(二)之异步调用

CXF异步调用
  • u013769320
  • u013769320
  • 2015年08月12日 23:11
  • 931

编写简单的WebService示例

1.参考文献: 1.利用Java编写简单的WebService实例  http://nopainnogain.iteye.com/blog/791525 2.Axis2与Eclipse整合...
  • CHBSRZF
  • CHBSRZF
  • 2015年09月08日 18:02
  • 1017

C#中的异步调用例子

C#异步调用的应用实践最经公司工作需要调用一个外部的webservice,同时要将传出的数据进行保存,以自己以前的习惯,就打算逐步操作,失败啊,完全没考虑过用户体验效果,在同事指点下,意识到使用C#异...
  • sgx0554
  • sgx0554
  • 2016年04月04日 17:14
  • 2840

Ajax调用WebService(一)

原文出处:http://blog.csdn.net/vs_sundaylove/article/details/6586113 一些感悟:  最近工作一直都很忙。很久没有更新自己的博客了。...
  • chelen_jak
  • chelen_jak
  • 2016年07月16日 11:36
  • 1727

WebService同步调用、异步调用及WebService实现分布式部署

最近因工作上的原因需要用到webservice,于是学习走起。 1.首先在我们的webservice方法 返回结果前让线程休眠两秒。 2.在要调用的页面需要在页面声明里面添加属...
  • lmnotlm
  • lmnotlm
  • 2013年04月11日 17:36
  • 919

Web Service入门简介(一个简单的WebService示例)

一、Web Service简介 1.1、Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intra...
  • zhongguomao
  • zhongguomao
  • 2017年04月28日 16:16
  • 943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于webservice的异步调用简单实例
举报原因:
原因补充:

(最多只允许输入30个字)