datacontract相关内容
我们在使用 Microsoft JSON 序列化程序和 JSON.NET 的 MVC3 项目中遇到了情况. 每个人都知道微软的序列化器中的 DateTime 基本上被破坏了,所以我们切换到 JSON.NET 来避免这个问题.这很好用,除了我们尝试序列化的一些类是具有 DataContract/DataMember 属性的 POCO.它们是在一个在多个位置引用的程序集中定义的.此外,它们还有一
..
我正在使用 DataContractSerializer 将我的类序列化/反序列化到 XML.一切正常,但在某些时候,我想为这些 XML 文件的格式建立一个独立于实际代码的标准模式.这样,如果序列化过程中出现问题,我总是可以返回并检查标准模式应该是什么.或者,如果我确实需要修改架构,那么修改是一个明确的决定,而不仅仅是修改我的代码的后续影响. 此外,其他人可能正在编写其他可能不是基于 .NE
..
如果我有一个标记为 DataContract 的类和一些用 DataMember 属性标记的属性,我可以轻松地将它序列化为 XML,但它会创建输出喜欢: 约翰·史密斯john.smith@acme.com123-123-1234 我更喜欢的是属性,比如...
..
我希望能够从 XSD 文件生成 DataContract,最好使用 xsd.exe 工具.在我的每个项目上自动生成 [DataContract] 和 [DataMember] 的最简单方法是什么? 或者有更好的方法吗?我试图避免每次更改和重新生成 XSD 文件时都必须重新创建数据协定. 解决方案 xsd.exe 工具早于 WCF 并且对 [DataContract] 和 一无所知代码
..
当我在客户端创建 DataContract 的实例时,我需要让一些数据成员获得一些值.使用构造函数不会发生这种情况.我搜索了不同的论坛,发现我们必须使用 [OnDeserializing] 和 [OnDeserialized] 属性.这也行不通.有人可以在这里提出建议.另一种选择是在客户端的部分类中创建构造函数.我想避免这种情况. 请在下面找到代码: 服务端:数据合约 [数据契约]公
..
DataContract 中 IsReference 属性的用途是什么?应用此属性后,请求和响应有何不同? 解决方案 它决定了对象如何序列化,默认情况下,IsReference=false. 设置 IsReference = true 允许序列化可以相互引用的对象树.因此,对于 Employees 的列表,每个列表都有一个 Manager 的属性(他也是 Employee),一个对
..
我与许多拥有自定义类的成员有一个数据联系人 如果反序列化时属性为空,我想强制创建一个新实例. 有没有办法做到这一点? 解决方案 如果您正在使用 DataContract 序列化,那么您可以使用 OnDeserialized 属性覆盖其默认行为. 来自 MSDN:当应用于方法时,指定在对象图中的对象反序列化期间调用该方法.相对于图中其他对象的反序列化顺序是不确定的.
..
我找不到用于 [DataContract] 和 [DataMember] 元素的命名空间.根据我的发现,添加以下内容似乎就足够了,但在我的情况下还不够. 使用系统;使用 System.Runtime.Serialization; 这是我的代码片段: 使用系统;使用 System.Runtime.Serialization;命名空间我的命名空间{[数据合约]公共类元组{//一个元组的自定义实现
..
我有一个服务器端类,我通过 [DataContract] 在客户端提供它.这个类有一个只读字段,我想通过属性提供它.但是,我无法这样做,因为似乎不允许我在没有 get 和 set 的情况下添加 [DataMember] 属性. 那么 - 有没有办法在没有 setter 的情况下拥有 [DataMember] 属性? [数据契约]类 SomeClass{私有只读 int _id;公共 Som
..
我对 WCF 中的 DataContract 属性感到非常困惑.据我所知,它用于序列化用户定义的类型,如类.我写了一个这样在客户端暴露的类. [数据契约]公开课联系方式{[数据成员]公共 int 滚动 { 获取;放;}[数据成员]公共字符串名称 { 获取;放;}[数据成员]公共字符串地址{获取;放;}[数据成员]公共整数年龄{得到;放;}} 它工作正常,但是当我删除 DataContract
..
是否可以将此 XML 反序列化为标有 DataContract 属性的对象? 1000 如您所见,有“单位"属性.我不相信这是支持的.还是我错了? 解决方案 这可以实现,但您必须通过将 [XmlSerializerFormat] 属性应用于 DataContract 来覆盖默认序列化程序.虽然可以做到,但它的性
..
如何在 WCF 中为抽象类定义 DataContract? 我有一个“人"类,我使用 WCF 成功地与它通信.现在我添加一个从 Person 引用的新类“Foo".一切都还好.但是当我使 Foo 抽象并定义一个子类时,它失败了.它在服务器端失败并出现 CommunicationException,但这并不能告诉我太多. 我为测试而制作的简化类: [数据契约]公开课人{公众人物(){S
..
我在 MEF 应用程序中有以下设置: 组装MyBaseAssembly: namespace My.Namespace{[数据合约]公共类容器{[数据成员]公共数据项{获取;放;}}[数据合约]公共类数据{[数据成员]公共字符串 Foo { 获取;放;}}} Assembly SecondAssembly,引用MyBaseAssembly: 命名空间 My.Another.Namesp
..
我们可以将通用列表 (List) 作为参数发送给 WCF OperationContract 吗? 似乎唯一的方法是将 List 作为 DataMember 封装在另一个 Class 中,并将该类指定为 DataContract: 但这在我看来不太合适.还有其他办法吗? EDIT1: 预期签名: [操作契约]列表OperationName(List objects); 这在
..
我知道当你创建一个服务时,你可以创建一个通用的 DataContract: [DataContract(Name = "Get{0}Request")公共密封类 GetItemRequest其中 T : 类, new() { ... }[DataContract(Name = "Get{0}Response")公共密封类 GetItemResponse其中 T : 类, new() { ...
..
我对在 DataContractSerializer 中使用原始元素列表时设置自定义元素名称的最佳方法感兴趣.假设我有以下类,其中包含一个字符串列表作为 DataMember. [数据契约]公共类类名{[数据成员]公共列表字段名称 { 获取;放;}} 默认情况下,这会序列化为以下内容:
..
如何将Excel文件从WinForms客户端传递到WCF服务并传递到SQL Server表中? 任何人都可以提供任何指导,代码或建议吗? 将Excel文件作为参数的WCF服务合同和实现 合同实施应将该Excel文件插入SQL Server的varbinary(MAX)列中. 解决方案 我相信那里的专家可以对此进行改进,但这是基础知识... 在服务器上 1a.将新的
..
这是 如何在所有类成员上设置[DataMember] 所以我必须使用字典和其他成员序列化一个类. 我选择了本身的数据上下文序列化 public SimpleDataGridSample() { if (false) { MyClass theclass = new MyClass(); var serialize
..
我遇到一个奇怪的问题,如果我将一个派生类放到一个列表中,但是当它独立存在时就不能序列化. 我正在使用这些方法进行序列化和反序列化(在在此处找到它们): public static string Serialize(T obj) { using (MemoryStream memoryStream = new MemoryStream())
..
我有一个Silverlight客户端和一个我想共享一个类的WCF服务: [DataContract] public class DatesAreFun { [DataMember] private readonly DateTime _date; [DataMember] private readonly bool _isFun; public DateTime Da
..