最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
protobuf对象二进制序列化存储
时间:2022-06-25 07:53:22 编辑:袖梨 来源:一聚教程网
首先下载protobuf库,可以用Nuget。
demo:
| 代码如下 | 复制代码 |
usingSystem;
namespaceTools { publicclassBufHelp { /// /// 对象锁 /// privatereadonlystaticObject Locker =newObject(); ///// ///// 读写分离锁 ///// ///// //private static ReaderWriterLockSlim rwl = new ReaderWriterLockSlim();
/// /// 序列化-表字段业务信息 /// publicstaticboolProtoBufSerialize { try { stringbinpath = Config.KeyCenter.KeyBaseDirectory +@"Config";
if(!System.IO.Directory.Exists(binpath)) System.IO.Directory.CreateDirectory(binpath);
lock(Locker) { using(var file = System.IO.File.Create(binpath + filename)) { ProtoBuf.Serializer.Serialize returntrue; } } } catch { returnfalse; } }
publicstaticT ProtoBufDeserialize { var dbpath = Config.KeyCenter.KeyBaseDirectory +@"Config"+ filename;
if(System.IO.File.Exists(dbpath)) { lock(Locker) { using(var file = System.IO.File.OpenRead(dbpath)) { var result = ProtoBuf.Serializer.Deserialize returnresult; } } }
returndefault(T); } } }/// /// 序列化 /// publicstaticstringSerialize { using(MemoryStream ms =newMemoryStream()) { ProtoBuf.Serializer.Serialize returnEncoding.UTF8.GetString(ms.ToArray()); } } /// /// 反序列化 /// publicstaticT DeSerialize { using(MemoryStream ms =newMemoryStream(Encoding.UTF8.GetBytes(content))) { T t = ProtoBuf.Serializer.Deserialize returnt; } } | |
相关文章
- 12306候补订单成功率高吗-12306候补55%概率靠谱吗 02-12
- POKI小游戏免费在线畅玩-poki秒玩游戏入口网页版一键即玩 02-12
- 夸克网页版入口如何快速查找-夸克浏览器2026最新官网直达地址 02-12
- 抖音网页版能抢福袋吗-抖音网页版抢福袋攻略 02-12
- 秘塔猫AI写作官网入口-秘塔写作猫官网登录通道 02-12
- 火车票余票查询攻略-火车票购买软件推荐 02-12