确定在WCF netTCP绑定中传输的序列化对象占用的空间量?

时间:2009-09-22 20:44:09

标签: c# .net wcf nettcpbinding

有没有办法知道在WCF netTCP绑定中传输的序列化对象占用了多少空间? 我正在接受

  

套接字连接已中止。   这可能是由错误引起的   处理您的消息或接收   远程超过超时   主机或底层网络   资源问题。本地套接字超时   是'00:00:59.9570000'

错误,我认为这可能是由于我传回的数据表的大小。 Windows调试器中是否有一种方法可以确定要传回的数据占用多少空间(字节)?

1 个答案:

答案 0 :(得分:1)

嗯,最简单(也是最准确)的选项可能是在配置中将其设置为最大值(因此它不会爆炸)并使用WireShark在传输过程中测量它;从理论上讲,您可以使用WCF消息记录/跟踪,但在使用大型消息时,我已经有了一次成功的结果。

或者,您可以尝试使用NetDataContractSerializer将数据写入MemoryStream,然后查看流的.Length

请注意,如果您使用(而不是DataTable),您可能会发现另一个序列化程序帮助;它不是100%科学,但我最近比较NetDataContractSerialzier and protobuf-net