c# - WCF:拦截客户端消息发送/接收进度

标签 c# .net wcf

我有一个桌面应用程序,用于向/从 WCF 服务发送/接收消息(不是文件)。

如何截取要传输的消息的总大小并在传输过程中接收反馈(传输的字节数),以便向桌面应用程序用户显示进度条?

有多少种方法?考虑到我的应用场景,哪一个是最好的?

如有任何意见或建议,我们将不胜感激,

卡伦

最佳答案

您需要检查 WCF 的可扩展点,以便 Hook 来回发送消息的过程。

你可以例如实现 IClientMessageInspector 来在消息发送到服务器之前检查消息,也可能检查返回的响应。请参阅MSDN docs为起点。

这也可能是一个很好的起点 - 关于 basics of WCF Extensibility 的白皮书.

这位先生在这里展示了如何 Write a WCF message inspector - 正是您想要查看的内容。

我怀疑你是否能够陷入“到目前为止已经传输了这么多字节”的反馈循环,不过 - 另外,如果你的消息大小合理,将它们发送到网络上将是一个问题微秒并更新进度条将比发送它们花费更长的时间:-)

马克

关于c# - WCF:拦截客户端消息发送/接收进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154403/

相关文章:

c# - 如何使用 EF 在 MVC3 中包含另一个表?将数据检索到列表中

c# - 从 Hikvision IP 摄像机抓取帧

c# - MonoTouch 和 LINQ - 由于对象的当前状态,操作无效

c# - 在 UnityContainer 中找不到 Resolve<T> 方法

c# - 如何在启动期间通过调用 ASP.NET Core 中的外部 API 在每个应用程序生命周期中初始化一次属性或变量?

.net - 在.NET远程调用期间识别客户端

c# - 如何将 C++/CLI 引用类设置为 WCF 的数据成员?

c# - 在 WCF 中,为什么我们说传输是最不安全的选项?

c# - 在 C# 中替换 ' with\'

c# - 将所有标记的字符串更改为另一个字符串