binaryformatter相关内容
在过去两天里找到了该问题的答案之后,我希望这里的人能为您提供帮助. 我已经使用VS2012用c#编写了一个程序,该程序使用BinaryFormatter将用户可序列化的类序列化为Stream,然后再将其保存到文件中,从而保存用户的项目数据.该程序已经使用了一段时间,但是最近用户无法打开他前一天保存的文件.他向我发送了文件,而我在防盗器中遇到的错误是: “二进制流'0'不包含有效的Bin
..
Protobuf-net中存在AsReference选项,并且BinaryFormatter是“图形序列化程序"一词使我认为BinaryFormatter不维护引用,而是为每个对象进行了复制. 但是我做了一些测试,发现即使在递归引用中,单个BinaryFormatter Serialize()或Deserialize()调用中的所有引用也都得到了维护. 我可以确认BinaryForma
..
我经常读到BinaryFormatter比XmlSerializer具有更好的性能. 出于好奇,我编写了一个测试应用. 一个wtf时刻...为什么Xml比Bin快得多(尤其是反序列化)? using System; using System.Collections.Generic; using System.Runtime.Serialization; using System.Xml
..
假设我上过这堂课: [Serializable] public class SomeClass { public SomeClass() {//init} public string SomeString {get;set;} } 该类在应用程序关闭时被序列化,并在下次运行时反序列化. 然后,我构建它并发布了该应用程序,现在该类已更改: [Serializabl
..
Oi! 我在序列化会话状态时遇到问题.我们有2个组件,即WCF和Web.基于我们的AdministrationPartial.cs和Administration.svc,我们使用以下.bat文件为我们的Web项目生成"Administration.cs"代码: svcutil.exe http://wcf_url.local/Administration.svc?wsdl /r:"{P
..
我使用BinaryFormatter将以下类序列化为文件: [Serializable] public class TestClass { public String ItemTwo { get; set; } public String ItemOne { get; set; } } 使用此代码: FileStream fs = new FileStream("D
..
根据 .NET CoreFx的列表从1.3开始,API及其相关的.NET Platform Standard版本,System.Runtime.Serialization.Formatters已添加到.NET Platform Standard中,这很酷,但是当我尝试创建面向.NET Core类库时.net Core RC2下的netstandard1.5,我不能使用它。 代码很简单,只想声
..
我有一个序列化对象并通过网络发送它的程序: TcpClient client = new TcpClient(); client.ReceiveTimeout = 10000; client.SendTimeout = 10000; IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse(“ 127.0.0.1”),
..
我具有以下方法来生成对象的哈希。效果不错!但是,当我更改程序集的版本时,即使对象相同,哈希也会发生变化。 公共静态字符串GetHash (对象项) { MemoryStream memoryStream = new MemoryStream(); BinaryFormatter binaryFormatter =新的BinaryFormatter(); binaryFormatt
..
我正在使用二进制格式化程序来序列化我的对象。 我想知道序列化字节数组中属性的顺序是什么(根据对象类中的属性顺序?随机吗?) 如果我可以根据以下内容控制字节的顺序, 例如, 如果我序列化以下obj: 公共类人类 { int年龄{get; set;} int体重{get; set;} } 如果我要对其进行序列化,字节顺序是什么意思? (前4个字节代表年
..
我们在C#游戏中使用BinaryFormatter,以保存用户游戏进度,游戏级别等。我们遇到了向后兼容的问题。 目标是: 关卡设计师创建广告系列(“关卡和规则”),我们更改了代码,广告系列仍然可以正常运行。 用户保存游戏,我们发布了一个游戏补丁,用户仍应能够加载游戏 不管两个版本有多远,不可见数据转换过程都应该起作用。例如,用户可以跳过我们的前5个次要更新,而直接获得第6个。尽管如
..
一个128³双精度的BinaryFormatter序列化数组,占用50 MB空间。用两个 double 字段对128³ struct 的数组进行序列化需要150 MB的内存,并且要花费20秒以上的时间来处理。 是否有可以生成紧凑文件的快速简单替代方案?我的期望是上述示例将分别占用16 MB和32 MB,并且处理时间不到两秒钟。我看了一下protobuf-net,但它似乎甚至不支持 struc
..
我得到一个: System.Runtime.Serialization.SerializationException:无法找到 程序集'myNameSpace,版本= 1.0.0.0,区域性=中性, PublicKeyToken = null 当试图反序列化另一个程序中的某些数据时, 经过一番谷歌搜索后,我发现这显然只能使用共享程序集完成。 但是,我的数据库中充满了这个
..
我有一个使用BinaryFormatter序列化带有字符串和布尔值的结构的项目? 序列化/反序列化工作正常,但是,如果我要更改执行该工作的程序集,则由于二进制文件中的标头指示它需要 Assembly x 而不是 Assembly y 来处理数据。 是否可以将序列化/反序列化设置为与程序集无关? 解决方案 您可以控制二进制格式化程序的方式通过将自定义SerializationBi
..
我有一个名为Cereal的可序列化类,其中显示了几个公共字段 Public Class Cereal Public id As Integer Public cardType As Type Public attacker As String Public defender As String Public placedO
..
我在这里的这段代码有问题. using (MemoryStream ms = new MemoryStream()) { BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(ms,SerializableClassOfDoom); ms.Position = 0; byte[] messsize =
..
我在两个项目中有相同的类,一个在runtime上发送到另一个必须反序列化该对象并使用它的进程(假定两个对象相同,但程序集名称不同,所以它们实际上被解释为两种不同的类型).根据我的研究,由于以下原因,我提出了无法使用的解决方案. Json.NET:给我一个例外,这两种类型不兼容(在序列化设置中使用typename.all进行尝试). protobuf-net:要求我在每个位置添加属性,或
..
我正在开展一个项目,我需要将图像上传到我的服务器。我想将我的图像的二进制数据存储到数据库中的BLOB数据类型字段。因此,我需要将我的图像转换为二进制格式。这样它就可以保存在服务器数据库中。 那么如何将图像转换为二进制格式?请指教。 解决方案 您可以使用 CoreGraphics '方法 UIImagePNGRepresentation(UIImage * image),返回 NSDa
..
当使用 BinaryFormatter 序列化以下类时,任何订阅 Roar 事件的对象也将被序列化因为对这些对象的引用由EventHandler代理持有。 [Serializable] public class Lion { 公共事件EventHandler咆哮; public string Name {get;组; } public float Fluffiness
..
当.NET的 BinaryFormatter 用于序列化对象图,是否应用了任何类型的压缩? 编辑 - 如果字符串已被嵌入,请按住。 NET,没有必要担心重复的字符串,对吧? 解决方案 不,它不提供任何压缩,使用 自己压缩输出, GZipStream 类型。 编辑: Mehrdad 有一个很好的例子,这个技术在他的回答如何使用gzip压缩.net对象实例。 编辑2:字符串可
..