草庐IT

c# - 更改 WCF 中的默认日期序列化

有没有办法更改WCF中DateTime的默认JSON序列化/反序列化?目前,DateTime被序列化为/Date(1372252162657+0200)/格式,这应该没问题,但当我的服务器不在UTC时(我不能改变)。此服务正在处理的所有日期/时间数据均采用UTC格式。当服务器处于UTC时,一切正常。但是,staging/prod环境设置为GMT+1(巴黎)并且序列化程序假定日期/时间为GMT+1,完全忽略属性Kind。因此,正如您所期望的那样,调用DateTime.SetKind()并将其设置为UTC将不起作用。实际上,序列化时间延迟了一个小时。我可以进行双向日期对话(它在反序列化时也

c# - 如何忽略二进制序列化的事件类成员?

我需要避免序列化Event类成员,因为当事件由未标记为可序列化的对象处理时,序列化将失败。我尝试在Event类成员上使用NonSerialized属性,但编译失败。这行代码:PublicEventPropertyValueChanged()产生以下错误:Attribute'NonSerializedAttribute'cannotbeappliedto'PropertyValueChanged'becausetheattributeisnotvalidonthisdeclarationtype.PublicEventPropertyValueChanged()'compilesbutn

c# - 如何(xml)序列化一个uri

我有一个标记为可序列化的类,它具有Uri属性。如何在不创建字符串类型属性的情况下使Uri序列化/反序列化? 最佳答案 使用xml序列化器,你是有限的-它不像(比如说)一些binaryformatter/ISerializable选项那样通用。一个常见的技巧是拥有第二个序列化属性:[XmlIgnore]publicUriUri{get;set;}[XmlAttribute("uri")][Browsable(false),EditorBrowsable(EditorBrowsableState.Never)]publicstringU

c# - 如何在不将类标记为可序列化的情况下对其进行深度复制

给定以下类:classA{publicListListB;//etc...}其中B是另一个可能继承/包含其他一些类的类。鉴于这种情况:A是一个大类,包含很多引用类型我无法将B标记为[Serializable],因为我无权访问B的源代码以下执行深度复制的方法不起作用:我不能使用ICloneable或MemberwiseClone因为类A包含许多引用类型我无法为A编写复制构造函数,因为该类很大并且不断被添加,并且包含无法深度复制的类(如B)我无法使用序列化,因为我无法将包含的类(如B,其中没有可用的源代码)标记为[Serializable]如何深度复制类A? 最

c# - JSON.NET DataContractJsonSerializer 和 Newtonsoft JSON 序列化程序有什么区别

谁能帮帮我。内置的JSON.NETDataContractJsonSerializer和NewtonsoftJSON序列化器有什么区别?我可以将一个或另一个与WebAPI一起使用是否正确,我为什么要选择一个? 最佳答案 你可以在这里找到性能比较(来源:newtonking.com)这是功能比较,http://james.newtonking.com/projects/json/help/index.html?topic=html/JsonNetVsDotNetSerializers.htm

c# - JSON .Net 在反序列化时不遵守 PreserveReferencesHandling

我有一个双向链表,我正在尝试反序列化。我的场景与这个SO密切相关:DoublyLinkedListtoJSON我有以下JSON设置:_jsonSettings=newJsonSerializerSettings(){TypeNameHandling=TypeNameHandling.Auto,ConstructorHandling=ConstructorHandling.AllowNonPublicDefaultConstructor,PreserveReferencesHandling=PreserveReferencesHandling.Objects,ObjectCreation

c# - 如何使用 DataContractSerializer 反序列化 XML

我正在尝试反序列化一个xml文档:TEST1TESTGAME111111115,00TEST2TESTGAME22222220,300,90.cs类:namespaceXmlParse{usingSystem.Collections.Generic;usingSystem.Runtime.Serialization;[DataContract(Namespace="http://serialize")]publicclassgame{#regionPublicProperties[DataMember]publicstringname{get;set;}[DataMember]publ

c# - 反序列化根为数组且元素不遵循约定的 XML 数组

我得到的XML是由外部来源提供的,因此我无法轻松地重新格式化它。我想在我的实体上使用xml属性,而不必编写知道XML和实体格式的linq查询。这是一个例子:2013-2Spring20132013-3Summer2013Jun&Jul例如,我知道XMLSerializer需要ArrayOfTerm而不是TERMS,但是我可以调整我的实体以使用具有xml属性的不同元素名称,例如:publicclassTermData{[XmlArray("TERMS")][XmlArrayItem("TERM")]publicListterms;}publicclassTerm{[XmlElem

c# - Json.NET如何在反序列化过程中进行依赖注入(inject)?

当我有一个没有默认构造函数的类时,即使用依赖注入(inject)来传递其依赖项时,Newtonsoft.Json可以创建这样的对象吗?例如:publicclassSomeFoo{privatereadonlyIFooDependency_dependency;publicSomeFoo(IFooDependencydependency){if(dependency==null)thrownewArgumentNullException("dependency");_dependency=dependency;}publicstringData{get;set;}publicintMor

c# - 使用带有 ItemRequired = Required.Always 的 Json.Net 反序列化时忽略属性

我正在使用Json.Net将类序列化和反序列化为json并返回。我添加到标有[JsonObject(ItemRequired=Required.Always)]的类中(或Required.Always)一个新的只读属性。这导致以下JsonSerializationException:Newtonsoft.Json.JsonSerializationException:Requiredproperty''notfoundinJSON我想用JsonIgnore标记该属性会解决问题,但这不起作用。我如何告诉Json.Net这个属性应该被忽略?这是重现该问题的最小示例:[JsonObject(