草庐IT

SERIALIZATION

全部标签

c# - 配置 .NET WCF UTF-8 反序列化器以修改/丢弃非最短格式字符而不是抛出异常?

我们有一个通过WCF托管的SOAP网络服务。我们偶尔从其中接收数据的客户端之一使用非最短格式对UTF-8进行编码(有关这方面的一些信息,请参阅http://www.unicode.org/versions/corrigendum1.html)。修改客户端并不容易,因为我们的代码没有对这些非最短形式的字符进行编码。相反,我们希望编辑WCF服务以丢弃这些字符,将它们替换为其他占位符字符,甚至接受非最短形式的字符。对于我们的用例,这些中的任何一个都是可以接受的,尽管前一个选项是首选,因为它们减少了任何安全风险。查看堆栈跟踪:System.ServiceModel.Dispatcher.Net

c# - 自动实现的属性和序列化

我正在处理大量代码和标记类,我现在想使用序列化属性保留这些类。我还没有编写二进制序列化/反序列化引擎,所以我猜我会在完成后回答我自己的问题!-但我想如果可以的话,我会尝试在这里获得更早的回复。我遇到过一些包含属性的代码,例如:publicstringId{get;set;}“Id”是否被序列化?我知道编译器会自动创建一个类成员,但这是否正确序列化(因为类实例的所有数据成员都被写入存储)?感觉好像不会,因为您不能将序列化/非序列化属性放在属性上。提前致谢。 最佳答案 您可以使用[field:NonSerialized]属性将event

c# - 发送列表时的 '`'字符和RestSharp请求体

我正在尝试使用RestSharp向我的实体发送请求。但是我收到一个错误:"System.Xml.XmlException:The'`'character,hexadecimalvalue0x60,cannotbeincludedinaname."我将列表放在查询的正文中。varstrList=newList();strList.Add("one");strList.Add("two");restRequest.AddBody(strList);它似乎不喜欢泛型的序列化方式。对于如何将列表传递给请求有什么建议吗? 最佳答案 添加:re

c# - 从接口(interface)强制执行可序列化而不强制类在 C# 中自定义序列化

我有一个接口(interface),它定义了我希望某些类实现的一些方法。publicinterfaceIMyInterface{MethodA;MethodB;}此外,我希望所有实现此接口(interface)的类都是可序列化的。如果我更改接口(interface)定义以实现ISerializable,如下所示...:publicinterfaceIMyInterface:ISerializable{MethodA;MethodB;}...据我所知,所有类现在都必须显式实现序列化,因为如果您实现ISerializable,则必须实现GetObjectData成员(以及反序列化所需的构造

c# - 如何序列化静态类的非静态子类

我想序列化一个非常普通的类,但要注意的是它嵌套在一个静态类中,如下所示:publicstaticclassStaticClass{[Serializable]publicclassSomeType{...}}这段代码:StaticClass.SomeTypeobj=newStaticClass.SomeType();XmlSerializermySerializer=newXmlSerializer(typeof(obj));产生这个错误:StaticClass.SomeTypecannotbeserialized.Statictypescannotbeusedasparameters

c# - 未调用反序列化构造函数

我正在尝试序列化/反序列化一个包含Dictionary的对象.这些都是自定义类型。在我的代码中,我有一种Template类型,其中包含Dictionary.这是我尝试序列化/反序列化的Template类。为了解决这个集合是字典的问题,我实现了ISerializable我的模板类上的接口(interface)....[Serializable]publicclassTemplate:ISerializable{protectedTemplate(SerializationInfoinfo,StreamingContextcontext){//DeserializethesectionsL

C# Xml序列化、集合和根元素

我的应用序列化流中的对象。这是我需要的示例:在这种情况下,该对象是“链接”对象的集合。------------第一个版本起初我使用了DataContractSerializer,但是你不能将成员序列化为属性(source)这是对象:[DataContract(Name="link")]publicclassLinkV1{[DataMember(Name="href")]publicstringUrl{get;set;}[DataMember(Name="rel")]publicstringRelationship{get;set;}}结果如下:/usersusers/featuresf

c# - 使用 JSON 序列化请求对象

我目前正在进行概念验证,遇到了一个涉及使用JSON序列化HttpRequest的问题。背景我原本以为我可以使用JSON.Encode()轻松完成它方法如下所示:JSON.Encode(HttpContext.Request)但是,我很快发现这会导致抛出各种循环引用(主要是由于Request对象的实际结构和复杂性)。这些只会在实际遇到包含循环引用的属性时发生,因为我之前使用以下代码来获取我需要的特定元素:JSON.Encode(new{HttpContext.Request.Cookies,HttpContext.Request.Headers,...});效果很好。我只是好奇是否有更好

c# - "Both use the XML type name X, use XML attributes to specify a unique XML name and/or namespace for the type"怎么解决?

我有以下枚举定义...namespaceItemTable{publicenumDisplayMode{Tiles,Default}}namespaceEffectiveItemPermissionTable{publicenumDisplayMode{Tree,FullPaths}}...然后我有以下类(class)...publicclassTablewhereTDisplayMode:struct{//publicpublicTDisplayModeDisplayMode{get{returnmDisplayMode;}set{mDisplayMode=value;}}//pri

c# - 将类设置为可序列化的缺点

我正在使用Azure缓存预览版,需要使一些类可序列化。将类设置为可序列化是否有任何缺点-例如性能问题?[Serializable]publicclassMyClass{}我发现很少有相关问题,但它们不是关于缺点的。Areall.NETexceptionsserializable?DrawbacksofmarkingaclassasSerializable提前致谢 最佳答案 不,仅仅被标记为[Serializable]并没有内在的开销。我遇到的唯一问题是BinaryFormatter和NetDataContractSerializer