草庐IT

protobuf-3

全部标签

.net - Windows 上的 Redis 用于 session 状态性能和 protobuf

我目前通过stackexchange.redis(1.0.4)和WindowsRedisSessionStateProvider(1.6.2)提供商成功使用Redis(2.8.19-MSOpenTech)的Windows端口来存储本地session。将此配置与session的InProcsession状态进行比较,我们注意到在高负载下性能下降了大约20%。为了减少性能差距,我想知道使用protobuf-net序列化session是否可以提供帮助-模型具有必要的proto属性,但不完全确定如何配置sessionStateProvider以使用它进行序列化。有人用过吗?性能提高了吗?此外,

redis - 我应该如何将 Booksleeve 与 protobuf-net 一起使用?

我使用RedisConnectionSet方法设置字节数组,但如何获取数据?get返回一个包装的字节数组?链接:http://code.google.com/p/booksleeve/http://code.google.com/p/protobuf-net/这行得通,但感觉不对:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingBookSleeve;usingProtoBuf;usingSystem.IO;namespaceRedisTest001{[ProtoCont

c# - protobuf-net 没有反序列化 DateTime.Kind 正确

使用protobuf-net.dll版本1.0.0.280当我反序列化DateTime(包装在一个对象中)时,日期/时间没问题,但DateTime.Kind属性为“未指定”考虑这个测试用例来序列化/反序列化DateTime。[TestMethod]publicvoidTestDateTimeSerialization(){varobj=newDateTimeWrapper{Date=DateTime.UtcNow};obj.Date=DateTime.SpecifyKind(obj.Date,DateTimeKind.Utc);varserialized=obj.SerializePr

c# - ProtoInclude 属性是什么意思(在 protobuf-net 中)

在ProtoBuf-Net实现,ProtoInclude属性是什么意思,它有什么作用?一个例子将不胜感激。我看到了inthispost而且我不确定它的作用。例子是:[Serializable,ProtoContract,ProtoInclude(50,typeof(BeginRequest))]abstractinternalclassBaseMessage{[ProtoMember(1)]abstractpublicUInt16messageType{get;}}[Serializable,ProtoContract]internalclassBeginRequest:BaseMes

c# - protobuf-net 序列化为字符串存入数据库然后反序列化

我想使用字符串序列化/反序列化一个对象。请注意,当我对文件进行序列化/反序列化时,一切正常。我想要做的是获取一个字符串,这样我就可以将它存储在数据库中,然后稍后将其拉出进行反序列化。这是有效的代码:MemoryStreammsTest=newMemoryStream();Serializer.Serialize(msTest,registrationBlocks);msTest.Position=0;ListCopiedBlocks=newList();CopiedBlocks=Serializer.Deserialize>(msTest);“CopiedBlocks”对象与“regi

c# - 使用 protobuf-net 反序列化未知类型

我有2个联网应用程序,它们应该相互发送序列化的protobuf-net消息。我可以序列化对象并发送它们,但是,我不知道如何反序列化接收到的字节。我尝试用它反序列化,但失败并出现NullReferenceException。//Where"ms"isamemorystreamcontainingtheserialized//bytearrayfromthenetwork.Messages.BaseMessagemessage=ProtoBuf.Serializer.Deserialize(ms);我在包含消息类型ID的序列化字节之前传递一个header,我可以在一个巨大的switch语句

c# - 如何使用 ProtoBuf-Net 序列化继承类

如果这是重复的,我很抱歉。我已经在几个地方搜索了我可能理解的答案,包括:ProtoBuf.netBaseclasspropertiesisnotincludedwhenserializingderivedclassSerializeinheritedclassesusingprotobuf-net很抱歉,我并没有真正理解答案。我正在寻找一种更快、更紧凑的二进制序列化程序,而ProtoBuf看起来可能就是答案。我需要序列化一组全部派生自单个基类的类。它们的数量很多,所以在提交编辑类代码之前,我运行了一个简单的测试。此外,我不想以任何可能影响反序列化使用NET二进制序列化程序生成的旧持久文

c# - 开始使用 protobuf-net

我正在尝试开始使用protobuf.net。我已经从here下载了最新版本,实现了一个[ProtoContract]类,现在我正尝试使用ProtoBuf.Serializer.Serialize对其进行序列化,如documentation中所述.问题是,没有这样的方法。如何将[ProtoContract]写入磁盘?更新显然,我得到了错误的版本或其他东西,但这是我的Serialize类的样子: 最佳答案 这一定能帮助您开始使用它:Source&Credit&MarcGravell开始的最简单方法就是编写数据:classPerson{p

c# - protobuf-net 如何实现可观的性能?

我想明白为什么theprotocolbufferssolutionfor.NET由MarcGravell开发和它一样快。我能理解最初的Google解决方案是如何实现其性能的:它预先生成用于对象序列化的优化代码;我已经手动编写了一些序列化代码,并且知道如果避免反射,可以用这种方式编写非常快速的代码。但是Marc的库是一个运行时解决方案,它使用属性并且不生成任何生成的代码。那么它是怎样工作的? 最佳答案 protobuf-net使用策略模式;根据需要(每个类型一次)它使用反射来查看类型,并构建一组可用于序列化和反序列化的序列化程序(基于

go - 如何将 Struct 转换/转换为 Protobuf?

我正在做一个个人项目并且是第一次使用Go。我使用结构对数据进行操作并将数据存储在文件中,我使用proto作为编码器。在项目中,我的原型(prototype)定义看起来像这样messageData{stringkey=1;stringvalue=2;}messageRecord{int64size=1;Datadata=2;}我的结构看起来像这样typeKVDatastruct{KeystringValuestring}目前,这就是我创建原型(prototype)数据的方式kvData:=KVData{Key:"name",Value:"A"}record:=&pb.Record{Siz