我正在编写一个支持 WCF 的分布式应用程序原型,以尝试找出在升级我现有的“通过 tcp 发送 xml 以进行通信”应用程序时遇到的任何问题。我正在使用回调合同向服务器注册客户端(ServiceHost 中的单例),到目前为止,客户端和服务器之间的所有通信都正常工作。我可以将多个客户端连接到服务器并从服务器发送所有客户端都接收到的广播。我可以阻止一个特定的客户,而其他客户仍然会接到电话。这很好。
为了继续学习和评估性能,我希望客户端记录服务器发送每条消息的时间,以及客户端接收相同消息的时间。我应该如何最好地解决这个问题?
是否有类似于 SOAP 扩展的东西,我可以在其中添加从服务器传出和传入客户端的内容?或者我是否需要为服务器在客户端调用的每个方法添加一个“timeSent”参数并记录客户端接收到的时间(糟糕!)?有没有更好的方法来实现这一点?
我使用的是 net.tcp 而不是 wsDualHttpBinding (它也可以工作,但性能较差)。