博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF 异步调用问题
阅读量:5326 次
发布时间:2019-06-14

本文共 611 字,大约阅读时间需要 2 分钟。

 

添加引用时生成勾选允许生成异步操作”

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种通过注册事件的方案不需要等待。

转载于:https://www.cnblogs.com/qingyunoo/p/6061319.html

你可能感兴趣的文章
图像切割之(一)概述
查看>>
软工视频(21~25)-软件測试
查看>>
鼠标的操作(先保存到这里,之后进行整理与总结)
查看>>
扩展欧几里得与乘法逆元
查看>>
数据结构—堆排序
查看>>
深入理解 JavaScript 异步系列(3)—— ES6 中的 Promise
查看>>
自己写的一个wpf MVVM 的一个小demo
查看>>
用于记录程序运行时间
查看>>
邮件服务器安全问题
查看>>
结对编程项目作业5
查看>>
lua table 的操作(四)
查看>>
noip2010 引水入城
查看>>
抽象工厂模式(Abstract Factory)
查看>>
wp7 - 在Grid中实现元素叠加
查看>>
实验三
查看>>
mybatis源码阅读-初始化六个工具(六)
查看>>
利用伪造内核文件来绕过IceSword的检测
查看>>
IOS开发之记录用户登陆状态
查看>>
VB6 Win32API 函数声明
查看>>
jmeter ServerAgent插件安装
查看>>