问题标签 [datacontractserializer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1037 浏览

.net-3.5 - DataContractSerializer:处理您不知道且无权访问其类型的对象

我有一个类(称为容器),它使用 DataContractSerializer 进行序列化和反序列化。该类包含其他类的集合,所有这些类都继承相同的基类(称为 ContentsBase),但具有不同的派生类。应用程序可能会传递一个序列化的 Container 对象,该对象包含 ContentsBase 派生对象,我不知道或无法访问其实现——也就是说,编译的代码在本地不可用。我需要通过“忽略”我不知道的类型来反序列化这个对象(我不需要往返它们)。

有什么办法可以做到这一点,除了采用序列化的 XML 并编写一些自定义代码来通过它并在反序列化之前删除未知元素,还是我唯一的选择?

0 投票
3 回答
4987 浏览

c# - 为什么 XmlSerializer 不需要将类型标记为 [Serializable]?

在 C# 中,如果我想用 序列化一个实例XmlSerializer,则对象的类型不必用[Serializable]属性标记。但是,对于其他序列化方法,例如DataContractSerializer,需要将类标记为[Serializable][DataContract]

有没有关于序列化要求的标准或模式?

0 投票
3 回答
1661 浏览

.net - 你能控制DataContractSerializer反序列化的深度吗?

我有一个相当大的对象图,我已通过 DataContractSerializer 将其序列化为一个文件。我现在想向用户展示这些文件的列表以供选择。在此列表中,我想显示有关文件的一些详细信息,它们是根对象的属性。我不想将整个图形加载到内存中,因为我只对显示根节点的属性感兴趣。

有谁知道控制反序列化“深度”的方法,这样我就可以从文件中提取根对象并跳过子对象?我宁愿避免将文件视为原始 XML,因为我没有在其他任何地方进行任何原始 XML 操作,这将是我必须保持同步的另一个代码分支。

我现在唯一的想法是创建一个兼容的“摘要”对象,其中只包含我感兴趣的属性,而不包含任何子对象,并将文件反序列化为该对象。这应该跳过孩子,因为它们与摘要对象无关。

有没有更好的方法来实现这一点?

更新/澄清:属性不是我正在寻找的答案。一方面,当对象第一次序列化时,它们会阻止“额外”属性出现在文件中。

其次,它们比我想要做的更持久。最终,我确实想反序列化整个文件,但不是在这一点上。我正在尝试显示用户将从中选择导入的文件的摘要列表。在导入期间,我将需要所有的子孙。在第 1 步中这只是矫枉过正。这些文件可能是大文件,因此完全反序列化其中的几个以便我可以显示它们的标题信息是行不通的。

希望这可以消除对原始问题的任何困惑。

0 投票
2 回答
1106 浏览

.net - 如何自定义我的 WCF 服务以仅在一个 EndPoint 中使用 DataContractSurrogate?

在我的 wcf 服务中,我对使用 DataContractSurrogate 感兴趣,同时在特定端点(例如 WebHttpBinding)中公开 ServiceContract。

  1. 我该怎么做 ?实施 IEndpointBehavior?
  2. 除此之外,我是否需要实现 IWsdlExportExtension?

谢谢,
阿迪尔

0 投票
2 回答
1260 浏览

c# - LINQ to SQL 表达式中的 DataContractSerializer?

我是 LINQ 表达式的新手,并试图让以下工作:

它显然不起作用,因为 LINQ 试图将整个表达式转换为 SQL。

你知道这样做的方法吗?

0 投票
1 回答
4143 浏览

c# - 我可以强制 svcutil.exe 为 WCF 服务生成数据合同吗?

我想强制svcutil在 WCF 使用的程序集中生成所有数据合同,无论给定操作合同是否引用了类型。

鉴于此设置,我无法svcutil生成 的版本,Bar因为当前没有引用它的操作合同。有没有办法强制svcutil生成数据合同Bar

0 投票
3 回答
1598 浏览

.net - .NET Compact Framework 中缺少 DataContractSerializer

似乎 DataContractSerializer 在 .NET Compact Framework 中不可用。我发现这非常令人惊讶,因为我认为 DataContractSerializer 是序列化的圣杯,并且是 .NET 3 中引入的最广泛使用的类之一。

有没有办法在 Compact Framework 下获得相同的功能,即使用文本格式轻松保存和恢复真实世界对象图的能力?

我宁愿远离旧的、有限的 .NET 序列化程序,例如 XmlSerializer 和 BinarySerializer。

我在想也许有 DataContractSerializer 的自定义实现可用,或者可以使用 Mono 中的代码?有没有人尝试过这样做?

0 投票
1 回答
250 浏览

.net - DataContracts 中的 XmlTextAttribute 等效项

使用 DataContractSerializer 时是否有等效于 XmlTextAttribute 的方法?

我想在将属性序列化为 XML 时将其视为“默认属性”。例如:

.Value 设置为“foo”的对象被序列化为:

而不是:

0 投票
2 回答
353 浏览

c# - DataContractSerializer 跳过 OpenAccess 版本的值

我正在使用 OpenAccess 断开连接模型。当我尝试使用 DataConractSerializer 反序列化对象时,该对象的 Version 属性为 0 - 但仅在 xml 中。如果我调试代码并观察值 - 它是 1(或 2,3 ...)

如果我在序列化“int temp = object.Version”之前说,seriazlier 可以保存该值。

有一个懒惰的问题,我敢肯定。如何在没有显式调用的情况下强制读取/保存此值?

代码片段:http ://www.telerik.com/community/forums/orm/general-discussions/objectnetworkattacher-vs-datacontractserializer.aspx#775451

0 投票
2 回答
384 浏览

documentation - DataContractSerializer 文档

我正在为 DataContractSerializer 寻找一个很好的深度文档/操作方法。谷歌出现了许多相关的文章,但没有什么让我跳出来。(我不是在寻找MSDN 链接

一点说明:我从未在 .NET 中使用序列化,但有一个工作应用程序需要更新/修改。我有一个相当好的想法,如果我设计了序列化系统,将如何做我需要做的事情但我宁愿不要在一堆 MSDN 类文档中寻找他们希望我如何做到这一点。MSDN 的东西可以很好地弄清楚某些东西是如何工作的(就像谷歌一样,因为那时你对谷歌有一个特定的术语)我想要的是一个做得好的“这是它是如何工作的,这是所有细节”文档在向我展示如何将这些部分组合在一起而不是弄清楚它们是如何工作的。恐怕我正在寻找的是“当我看到它时我会知道它”的东西,而我从来没有幸运地在谷歌上搜索过这种东西。

我对人们使用过并且个人认为非常有用的特定页面特别感兴趣。如果你现在(在去谷歌之前)正在考虑一些特别的事情,那就是我正在寻找的东西。如果不...