【问题标题】:How to serialize dataset for .NET remoting (.NET Framework 3.5 SP1)?如何为 .NET 远程处理(.NET Framework 3.5 SP1)序列化数据集?
【发布时间】:2010-11-12 05:09:07
【问题描述】:

我使用 binaryFormatter 序列化对象以进行发送。但是对于 ADO.NET 数据集,最佳实践是什么?我注意到二进制格式化程序在数据集的情况下被 xmlformatter 覆盖?如何减小尺寸并提高序列化速度?

【问题讨论】:

    标签: .net serialization remoting


    【解决方案1】:

    您可以告诉它使用二进制模式而不是传统的 xml 模式:

    myData.RemotingFormat = SerializationFormat.Binary;
    

    您也可以尝试通过GZipStreamDeflateStream 运行序列化程序,但这可能需要将其作为BLOB 发送而不是直接远程处理。

    我最近也做了一些工作,着眼于通过 protobuf-net、here, including comparison metrics 推送 DataTable - 即使您不想要 protobuf-tweaks,数字数据也应该可以帮助您在 xml/binary 之间进行选择和香草/gzip/deflate。

    【讨论】:

    • 有点跑题了,但你知道有什么方法可以防止 Schema 在无类型数据集上传输吗?
    • @leppie - 猜测一下:data.SchemaSerializationMode = SchemaSerializationMode.ExcludeSchema;
    • 不幸的是,这需要一个类型化的数据集:(在我的情况下我不能使用它(MS Sync 框架 1.0)。
    • @leppie 你是怎么做序列化的?如果是您调用它,您可以将其作为参数包含 - XmlWriteMode.IgnoreSchema 等。
    • 不幸的是,同步框架(至少我坚持使用的版本)隐藏了所有这些细节。
    猜你喜欢
    • 1970-01-01
    • 2015-10-25
    • 2019-05-10
    • 2011-01-03
    • 2010-09-18
    • 2010-10-12
    • 1970-01-01
    • 2010-11-23
    • 2011-03-22
    相关资源
    最近更新 更多