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

本文介绍了一个使用VB.NET和C#实现的Webservice异步调用示例,展示了如何通过Begin和End方法进行异步操作,并提供了完整的代码示例。
于webservice的异步调用简单实例
无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的,

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

<WebMethod(Description:="试验")>_
PublicFunctiondelCurTable(ByValtbNameAsString)AsBoolean
Try
ReturnTrue
CatchexAsException
ReturnFalse
EndTry
EndFunction

关于这个webservice的同步调用方法,我就不做说明了
异步调用:
PrivateaAsvbwebservice.DataManage'定义一个webservice变量
DimarAsIAsyncResult
publicsubCallback1(byvalarasIAsyncResult)
''这里可以不写任何代码
'这里的代码在调用方运行结束后,开始运行
endsub

#region"异步调用"
privatesubbtnStart_Click()
dimcbasasyncallback=newasyncallback(address(me.callback1))
ar=a.begindelcurtable("zdf",cb,a)
endsub


privatesubbtnEnd_Click()
ifarisnothingthen
exitsub
endif
ifar.IsCompletedThen
dimmasboolean=a.enddelcurtable(ar)
messagebox.show(m.tostring)
endif
endsub
#endregion
注意:“返回异步调用的结果一次只能调用一次,如果想再执行一遍,就必须重新执行一遍begin的方法”
以上是vb.net的用法,下面是c#的用法
CWebService.DataManagea;
System.IAsyncResultar;
privatevoidForm1_Load(objectsender,System.EventArgse)
{
a=newCWebService.DataManage();
}


publicvoidCallBack1(System.IAsyncResultar)
{
}

privatevoidbtnStart_Click(objectsender,System.EventArgse)
{
System.AsyncCallbackcb=newAsyncCallback(this.CallBack1);
ar=a.BegindelCurTable("zhang",cb,a);
}

privatevoidbtnEnd_Click(objectsender,System.EventArgse)
{
if(ar==null)
{
MessageBox.Show("null");
return;
}
if(ar.IsCompleted)
{
boolm=a.EnddelCurTable(ar);
MessageBox.Show(m.ToString());
}
else
{
MessageBox.Show("为完成");
}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值