异步调用的函数是VOID类型,没有返回值。
解决方案 »
- 只有Type对象 而没有接口或类的定义 能不能做类型强制转换
- 用C#写采用SOCKET进行通讯的程序,然后采用windows服务的方式来调用这个程序,但不知是什么原因,端口始终都没有处于监听状态。
- insert into 语句
- SplitContainer 中的splitter部分能否增加控件
- 怎么让datagrid显示出固定的行数,如果没有数据则显示表头和固定行数的网格?
- 在webform中数据库服务器的连接放在web.config中,那在winform中应该放在哪?
- 程序员工资能占产品价格多少比例?
- C# TreeView和反射的问题
- 一个关于listView的问题。
- Visual Studio 2010 帮助不能用。
- 用ffmpeg逐截图视频另存为图片 不成功
- SQL :INSERT语句里嵌套查询语句的问题
如果是BeginInvoke,在你调用EndInvoke时没抛异常就可以认为成功了
如果是自动生成的(本质上是基于上一种的封装处理),XXX在Completed事件中,e.Error表示的就是异常,为空就可以表示调用成功
webservice异步调用,好像是调用不成功,调用方好像是成功调用的;不像同步调用,调用不成功,就会显示不成功。
在你引用服务的时候,估计你把“生成调用的方法”勾上了
判断的方法就是处理XXXCompleted事件
using(var wsClient = new 客户端())
{
//一定要先注册事件,+=后按Tab键自动帮你插入,然后再生成方法
wsClient.XXXCompleted += 调用完成的回调方法;
wsClient.XXXAsync();
}调用完成的回调方法(object sender, XXXCompletedEventArgs e)
{
if(e.Error != null)
{
出错了! //注意这里是异步回调的,什么时候完成(包括超时)什么时候才会调用
}
}
好像公开的函数有返回值,才会有XXXCompletedEventArgs,公开的函数如果是void就不会有XXXCompletedEventArgs。