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

时间:2009-07-20 16:00:47

标签: c# .net wcf

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

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

有多少种方法?根据我的应用场景,最好的是什么?

我们将非常感谢任何意见或建议,

库伦

1 个答案:

答案 0 :(得分:4)

您需要查看WCF的扩展点,以便挂钩来回发送消息的过程。

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

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

这位先生们在这里展示了如何Write a WCF message inspector - 正是你所看到的。

我怀疑你是否可以勾选到“到目前为止传输了这么多字节”的反馈循环 - 但是,如果你的消息大小合理,将它们发送到线路将是一个问题微秒和更新进度条需要比发送它们更长的时间: - )

马克