有没有办法知道在WCF netTCP绑定中传输的序列化对象占用了多少空间? 我正在接受
套接字连接已中止。 这可能是由错误引起的 处理您的消息或接收 远程超过超时 主机或底层网络 资源问题。本地套接字超时 是'00:00:59.9570000'
错误,我认为这可能是由于我传回的数据表的大小。 Windows调试器中是否有一种方法可以确定要传回的数据占用多少空间(字节)?
答案 0 :(得分:1)
嗯,最简单(也是最准确)的选项可能是在配置中将其设置为最大值(因此它不会爆炸)并使用WireShark在传输过程中测量它;从理论上讲,您可以使用WCF消息记录/跟踪,但在使用大型消息时,我已经有了一次成功的结果。
或者,您可以尝试使用NetDataContractSerializer
将数据写入MemoryStream
,然后查看流的.Length
?
请注意,如果您使用类(而不是DataTable
),您可能会发现另一个序列化程序帮助;它不是100%科学,但我最近比较NetDataContractSerialzier
and protobuf-net。