如何实现WCF回调
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要为大家展示了"如何实现WCF回调",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何实现WCF回调"这篇文章吧。由于WCF回调方法并非运行在主线
千家信息网最后更新 2025年01月17日如何实现WCF回调
这篇文章主要为大家展示了"如何实现WCF回调",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"如何实现WCF回调"这篇文章吧。
由于WCF回调方法并非运行在主线程中,如果WCF回调方法需要更新与异步调用结果相关的界面,例如本例中的lbMessage控件,则需要将回调的调用封送(Marshal)到当前主程序界面的同步上下文中。我们可以使用 SynchronizationContext以及它的SendOrPostCallback委托,对调用进行封送:
public ExplorerClientForm() { InitializeComponent(); m_synchronizationContext = SynchronizationContext.Current; } private SynchronizationContext m_synchronizationContext;
则WCF回调方法修改为:
//callback method void OnTransferCompleted(IAsyncResult result) { Stream stream = m_service.EndTransferDocument(result); result.AsyncWaitHandle.Close(); SendOrPostCallback callback = delegate { lbMessage.Text = string.Format("The file {0} had been transfered sucessfully.", m_doc.FileName); }; m_synchronizationContext.Send(callback,null); }
在调用异步方法时,由于对BeginTransferDocument()和EndTransferDocument()方法的调用可能会在不同的方法体中,因而我将服务代理对象定义为private字段。如果希望将服务对象定义为一个局部变量,可以在调用BeginTransferDocument() 方法时,将代理对象传递到方法的asyncState参数中,然后在调用EndTransferDocument()方法之前,通过 IAsyncResult获得准确的服务代理对象:
m_service.BeginTransferDocument(m_doc,OnTransferCompleted,m_service);
将m_service作为asyncState对象传入之后,在调用EndTransferDocument()方法之前,就可以根据它先获得服务代理对象:
IDocumentsExplorerService m_service = result.AsyncState as IDocumentsExplorerService; Stream stream = m_service.EndTransferDocument(result); //rest codes
以上是"如何实现WCF回调"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
方法
对象
代理
服务
内容
篇文章
界面
学习
帮助
不同
上下
上下文
主程序
参数
变量
字段
局部
控件
易懂
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宁波慈溪市企业用服务器
数据库可疑
小鱼易连手机登录无法连接服务器
华文网络技术有限公司招聘
不能认证服务器是怎么回事
网络安全服务定义
学习公安网络安全管理规定
道路监测数据库
计算机如何启动服务器服务
徐汇区辅助软件开发答疑解惑
金山区品质软件开发服务价格
如何理解软件开发的本质是建模
成都web前端软件开发机构
p2p网络技术具有隐私保护
公司内部服务器怎么设置
市场上经典的176传奇服务器
怎样检查固态硬盘数据库
数据库代理层可以避免单点故障
东莞无限软件开发供应商
win7服务器管理器在哪
数据库在线考试系统
网络教育数据库技术
放心的财务管理软件开发流程
吴江区正规网络技术资质
上海软件开发设施创意
崇明区网络技术售后保障
工业网络安全股票龙头股
杭州珍林网络技术有限公司
4g打不开网站是服务器的问题吗
和今日头条差不多的软件开发