我有一个桌面应用程序,用于向/从 WCF 服务发送/接收消息(不是文件)。
如何截取要传输的消息的总大小并在传输过程中接收反馈(传输的字节数),以便向桌面应用程序用户显示进度条?
有多少种方法?考虑到我的应用场景,哪一个是最好的?
如有任何意见或建议,我们将不胜感激,
卡伦
最佳答案
您需要检查 WCF 的可扩展点,以便 Hook 来回发送消息的过程。
你可以例如实现 IClientMessageInspector 来在消息发送到服务器之前检查消息,也可能检查返回的响应。请参阅MSDN docs为起点。
这也可能是一个很好的起点 - 关于 basics of WCF Extensibility 的白皮书.
这位先生在这里展示了如何 Write a WCF message inspector - 正是您想要查看的内容。
我怀疑你是否能够陷入“到目前为止已经传输了这么多字节”的反馈循环,不过 - 另外,如果你的消息大小合理,将它们发送到网络上将是一个问题微秒并更新进度条将比发送它们花费更长的时间:-)
马克
关于c# - WCF:拦截客户端消息发送/接收进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154403/