问题标签 [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 投票
2 回答
1458 浏览

c# - DataContractSerializer C# 可以序列化,不能反序列化,为什么?

我有使用 WCF 和 C# 创建的应用程序,它的架构需要通过 App.config 添加 KnownTypes。我有这样的服务: Client -> CentralServer -> DataServer (其中 -> 是 WCF 连接) 现在,我以这种方式将 KnownTypes 添加到 CentralServer App.config 和 DataServer App.config 中:

我的问题是,调用方法 whitch 从 CentralServer 获取 DataServer 上的 MethodDeclaration 类型的参数会引发服务无法反序列化此参数的异常,尽管 CentralServer 可以对其进行序列化(我知道,因为当我删除 KnownType 时,我得到了服务无法序列化的异常)。此外,我有很多这样的方法以相同的方式定义,但接受不同的类型作为参数,它们工作得很好。您知道为什么(不)这样工作吗?

例外:

0 投票
2 回答
7961 浏览

c# - DataContractSerializer 没有正确反序列化,对象中方法的值丢失

我的一些班级

我的 XML 文件:

但我的问题出在课堂上,我只在反序列化时为我的方法获取一些数据。

因此,当我检查“someClass”时,FirstName 的值为 john,但 LastName 将为空。

神秘的是我怎样才能得到一些数据,而不是类的所有数据。所以 DataContractSerializer 在反序列化时不会从 xml 中提取所有数据。

难道我做错了什么。

任何帮助表示赞赏。提前致谢。

让我知道是否有人有同样的问题或任何人有解决方案

0 投票
2 回答
2441 浏览

serialization - 将 DataMember 添加到 DataContract 的不同命名空间

有了XmlSerializer我可以让我的成员在与父类型不同的命名空间中。

我可以做同样的事情DataContractSerializer吗?

我想要以下 XML:

这可能在 with 中DataContractSerializer吗?

0 投票
2 回答
75856 浏览

xml - XSLT 使用命名空间转换 XML

我正在尝试使用XSLT将一些XML转换为HTML

问题:

我无法让它工作。有人可以告诉我我做错了什么吗?

XML:

XSLT:

0 投票
3 回答
1556 浏览

wcf - 使用 WCF 和 DataContractSerializer 时出错

我有一个相当复杂的对象模型,我正在尝试使用 WCF 进行序列化。我遇到了一个问题,我可以在服务器上创建一个新实例并将其返回给客户端,然后尝试将相同的对象传回,甚至使用 DataContractSerializer 对其进行序列化会引发异常。

测试方法 Server.Service.Test.SerializationTest.TestFilingSerialization 抛出异常:System.Runtime.Serialization.SerializationException:反序列化 MyNameSpace.MyObject 类型的对象时出错。类型 '' 中的属性 '' 没有设置方法

它没有给我任何关于我应该丢失的 setter 的信息,即使我已经尝试通过继承层次结构查找丢失的 setter,我似乎无法通过这个。 MyObject是我要序列化的对象的一种属性,这是有趣的部分。在该属性的设置器中,我的代码如下所示:

如果我注释掉 Aggregates.Add 它进入下一个属性并在那里抛出相同的异常,踢球者是,它通过具有相同代码的其他属性,在它击中这个并死亡之前,所以我不知道是什么问题可能是。

任何人都知道真正的错误在哪里,因为属性名称和类型没有在异常中填写,所以看起来错误必须是别的东西。如果我只是在客户端上创建一个新实例,我可以反序列化和序列化没有问题,所以这里一定有我遗漏的东西。关于寻找什么的任何想法?

编辑

我实际上只是这样做:

  1. 创建实例
  2. 连载
  3. 反序列化
  4. 重新序列化
    1. 死在这里
0 投票
4 回答
10683 浏览

c# - 具有多个命名空间的 DataContractSerializer

我正在使用 DataContractSerializer 将对象序列化为 XML。主要对象是名称空间为“ http://personaltrading.test.com/ ”的 SecurityHolding,并包含一个名为 Amount 的属性,它是一个名称空间为“ http://core.test.com ”的类。当我将其序列化为 XML 时,我得到以下信息:

无论如何我可以控制 d3p1 前缀吗?我做错了什么还是应该做其他事情?

0 投票
3 回答
6230 浏览

.net - DataContractSerializer 的问题 - 如何正确序列化从 List 派生的对象?

观察以下示例代码:

请注意,ComplexObject<T>源自List<T>.

无论如何,最后一个断言失败了。替换[Serializable]并附加到会产生相同[CollectionDataContract]的否定结果。[DataMember]m_state

就好像DataContractSerializer通知类是一个集合并选择忽略它的其他状态。

鉴于以下情况,请建议任何人如何解决此问题:

  • 我想尽可能少地ComplexObject<T>改变
  • DataContractSerializer由于与这个问题无关的原因,我被困住了

提前非常感谢。

编辑:

0 投票
1 回答
488 浏览

wcf - 如何在运行时获取 WCF 操作使用的数据序列化程序

是否有机会在运行时(例如使用操作行为)获得操作(DataContractSerializer/NetDataContractSerializer/XmlSerializer 等)使用的数据合同序列化程序。我想要实现的是创建一些诊断代码,使用当前附加的序列化程序来序列化消息(在消息检查器中)以比较结果。

谢谢,帕维尔

0 投票
2 回答
30598 浏览

.net - 使用 DataContractSerializer 序列化没有命名空间的对象

如何从使用 DataContractSerializer 序列化的对象的 XML 表示中删除 XML 命名空间?

该对象需要序列化为一个非常简单的输出 XML。

  • 最新和最棒的 - 使用 .Net 4 beta 2
  • 该对象永远不需要反序列化。
  • XML 不应该有任何 xmlns:... 命名空间引用
  • 需要支持 Exception 和 ISubObject 的任何子类型。
  • 更改原始对象将非常困难。

目的:

需要序列化成:

我使用了这段代码:

这篇文章中,我采用了 DataContractResolver ,因此不必声明子类型:

0 投票
1 回答
590 浏览

c# - C# DatacontractSerializer over Sockets 多个根元素

我正在使用 Sockets 和 DataContractSerializer 编写一个 Sivlerlight 聊天应用程序。

我有一个可序列化对象的类层次结构,其定义在 Silverlight 客户端和 C# 服务器之间共享。

当好友登录时,他们会向服务器发送一条消息,如果他们被验证,他们会收到一条确认消息,然后是几条消息,告诉他们还有谁在线(以及其他一些消息)。然后客户端等待套接字并准备好字节。然后它会尝试从生成的字节流中反序列化对象。然而,由于服务器已经发送了多条消息,字节流将包含多个元素的 xml,并且当它被反序列化时,会引发多根异常。

使用 DatacontractSerializer 从 Socket 反序列化对象流的标准解决方案是什么?

谢谢