WCF 异步调用问题
2024-10-14 21:56:56
添加引用时生成”勾选允许生成异步操作”
Wcf异步调用三种方式:
第一种:直接调用异步方法
var serviceClient = new MyServiceClient();
serviceClient.MessageAsync();
erviceClient.Close();
第二种:Begin、End方式
serviceClient.BeginMessage(delegate(IAsyncResult asyncResult)
{
serviceClient.EndMessage(asyncResult);
serviceClient.Close();
}, null);
第三种:通过注册事件的方式
serviceClient.MessageCompleted += delegate(object sender, PushBatchMessageCompletedEventArgs e)
{
if (serviceClient != null)
{
serviceClient.Close();
}
};
serviceClient.MessageAsync();
通过实验,前2种方式在调用Close()方法时程序会停留等待服务器端执行完成才能往下继续执行,而第3种通过注册事件的方案不需要等待。
最新文章
- MathType中如何批量修改公式字体和大小
- MVC模式--DropDownList数据绑定
- (转载)自定义 setDateFormat 显示格式
- xll
- (转载)MS SQL Server 未公开的加密函数有哪些?
- 【STL源码学习】细品vector
- 【44】将与参数无关的代码抽离templates
- 前端判断用户请求是PC还是移动端
- 【BZOJ3450】【Tyvj1952】Easy 可能DP
- itoa()函数和atoi()函数
- ERROR Worker: All masters are unresponsive! Giving up
- Ali RocketMQ与Kafka对照
- MySQL完整教程(共8章)
- C语言那年踩过的坑--局部变量,静态变量,全局变量在内存中存放的位置
- Velocity日期格式化
- freeswitch 获取当前网关通道数
- 第14月第11天 linkmap
- MongoDB 进程控制系列二:结束进程
- 使用LVS实现负载均衡原理及安装配置详解(转)
- linux下日语语言包安装