当前位置: 首页 > news >正文

一个人可以建设网站吗公司网站建设的视频教程

一个人可以建设网站吗,公司网站建设的视频教程,海口专业网站搭建厂,定制微信最近在研究web api 2#xff0c;看了一篇文章#xff0c;讲解如何提升性能的#xff0c; 在序列化速度的跑分中#xff0c;Protobuf一骑绝尘#xff0c;序列化速度快#xff0c;性能强#xff0c;体积小#xff0c;所以打算了解下这个利器 1#xff1a;安装篇 谷歌官方…最近在研究web api 2看了一篇文章讲解如何提升性能的 在序列化速度的跑分中Protobuf一骑绝尘序列化速度快性能强体积小所以打算了解下这个利器   1安装篇 谷歌官方没有提供.net的实现所以在nuget上找了一个移植的 Nuget里搜索Protobuf-net下载自动添加到项目中   2定义数据结构  using ProtoBuf;namespace ConsoleApplication1 {[ProtoContract]class Person{[ProtoMember(1)]public int Id { get; set; }[ProtoMember(2)]public string Name { get; set; }[ProtoMember(3)]public Address Address { get; set; }}[ProtoContract]class Address{[ProtoMember(1)]public string Line1 { get; set; }[ProtoMember(2)]public string Line2 { get; set; }} }    3封装简单操作类 按照作者使用习惯简单提供了一个Helper类 using System.IO; using System.Text; using ProtoBuf;namespace ConsoleApplication1 {public class ProtobufHelper{/// summary/// 序列化/// /summary/// typeparam nameT/typeparam/// param namet/param/// returns/returnspublic static string SerializeT(T t){using (MemoryStream ms new MemoryStream()){Serializer.SerializeT(ms, t);return Encoding.UTF8.GetString(ms.ToArray());}}/// summary/// 反序列化/// /summary/// typeparam nameT/typeparam/// param namecontent/param/// returns/returnspublic static T DeSerializeT(string content){using (MemoryStream ms new MemoryStream(Encoding.UTF8.GetBytes(content))){T t Serializer.DeserializeT(ms);return t;}}} }   4操作体验 代码很简单就不分开贴了 using System; using System.Collections.Generic; using System.IO;namespace ConsoleApplication1 {class Program{static void Main(string[] args){var p1 new Person{Id 1,Name 八百里开外,Address new Address{Line1 Line1,Line2 Line2}};var p2 new Person{Id 2,Name 一枪,Address new Address{Line1 Flat Line1,Line2 Flat Line2}};ListPerson pSource new ListPerson() { p1, p2 };string content ProtobufHelper.SerializeListPerson(pSource);Console.Write(content);//写入文件File.WriteAllText(D://hello.txt, content);Console.WriteLine(\r\n****解析部分*****);ListPerson pResult ProtobufHelper.DeSerializeListPerson(content);foreach (Person p in pResult){Console.WriteLine(p.Name);}Console.Read();}} } 控制台运行结果   同样的数据和Json所占用空间对比高下立判   后记 protobuf虽然有千般好但是我们是在 web api上使用的前台js解析不了Protobuf所以只能用Json咯~ StackService虽然Github上有2K多个Star,但是收费的。。同样的事情web api 2也能做到所以也略过它。 最终作者选择了跑分测试里面的第二名Jil  https://github.com/kevin-montrose/Jil       1. With very minimal annotation on the class level [ProtoContract(ImplicitFields ImplicitFields.AllPublic)] // only required on the class level class PersonEntity {public string FirstName { get; set; }public string LastName { get; set; } }   2. Without any annotation (using RuntimeTypeModel) static void InitializeProtobufRunTime() {var assembly Assembly.GetAssembly(typeof(PlainEntities.PersonEntity));var types assembly.GetTypes();foreach (var t in types.Where(x x.Namespace.Contains(PlainEntities))){Console.WriteLine(Processing {0}, t.FullName);var meta RuntimeTypeModel.Default.Add(t, false);var index 1;// find any derived class for the entityforeach (var d in types.Where(x x.IsSubclassOf(t))){var i index;Console.WriteLine(\tSubtype: {0} - #{1}, d.Name, i);meta.AddSubType(i, d);}// then add the propertiesforeach (var p in t.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly).Where(x x.GetSetMethod() ! null)){var i index;Console.WriteLine(\tProperty: {0} - #{1}, p.Name, i);meta.AddField(i, p.Name);}} }   And both the above works quite well without any performance differences. ------------------TestBinaryEntities------------------Process: 100000 items, MemorySize: 7400705, Completed in: 3877 ms, Serialization took: 676 ms, Deserialization took: 2948 ms ----------------------------------TestProtobufFullyAnnotatedEntities----------------------------------Process: 100000 items, MemorySize: 3983490, Completed in: 682 ms, Serialization took: 164 ms, Deserialization took: 253 ms -------------------------------------TestProtobufImplicitAnnotatedEntities-------------------------------------Process: 100000 items, MemorySize: 3983490, Completed in: 595 ms, Serialization took: 104 ms, Deserialization took: 210 ms -------------------------------TestProtobufRuntimeRegistration-------------------------------Processing ProtobufTestConsole.PlainEntities.BaseEntitySubtype: PersonEntity - #1Property: Id - #2Property: Gender - #3Processing ProtobufTestConsole.PlainEntities.PersonEntityProperty: FirstName - #1Property: LastName - #2Property: Age - #3Process: 100000 items, MemorySize: 4083490, Completed in: 646 ms, Serialization took: 113 ms, Deserialization took: 232 ms Looking forward to get this in :) Also attached the sample project for reference  转载于:https://www.cnblogs.com/zhahost/p/5813627.html
http://wiki.neutronadmin.com/news/27155/

相关文章:

  • 查建筑企业信息的网站安徽省建设信息管理平台
  • 长沙专业网站建设运营向wordpress发帖插件
  • 学网站开发应该学什么网站建设的定位是什么意思
  • 丽江建设网站电商网站开发技术与维护
  • 网站如何做抖音推广入侵网站被判多少年
  • 建设企业手机银行电商seo搜索引擎优化
  • 旅游网站专业化建设的要点腾讯公司
  • 做网站还 淘宝广州seo优化电话
  • 在线教育网站有哪些东台网站设计
  • 做贸易要看什么网站网站建设+泰安
  • 做网站推广的 什么是开户在云服务器上搭建网站
  • 网站建设行业发展方向常州做网站基本流程
  • 素材网站怎么推广重庆市建设工程信息网上查询
  • 专业的网站开发团队需要哪些人泰安企业建站公司排行
  • 网站开发算互联网公司吗wordpress 小工具添加图片大小
  • 网站被k 如何恢复南宁网站seo顾问
  • 个人怎么建立网站万网 网站空间
  • 制作企业网站一般多少钱慈溪网站建设哪家好
  • 做的新网站网上搜不到有什么网站用名字做图片
  • 贵州建设厅网站首页wordpress 漂浮窗口
  • 个人网站建设yxhuying网站平台维护
  • 四川省建设三类职称网站个人怎么做贷款网站
  • 家居网站应该怎么做阳江招聘网最新消息
  • 通过平台建网站网站制作方案专业乐云seo
  • 国际网站设计北京近期传染病情况
  • 东莞建站公司快荐全网天下特别好四川住房和城乡建设部官方网站
  • 手机网站模板设计软件自贡普通网站建设费用
  • 南京做网站需要多少钱手机软件开发培训
  • 芙蓉区网站建设继续网站建设
  • 太原网站建设方案优秀企业网站建设公司