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

开封网站建设-中企动力wordpress浮动按钮插件

开封网站建设-中企动力,wordpress浮动按钮插件,营销策略分析包括哪些内容,网站建设功能点价格ASP.NET MVC 引入的WebApi自然且较好地满足了ajax的交互需求#xff0c;但使用jQuery ajax调用WebApi返回500 Internal Server Error时却不太好查找错误。在一个实际项目中#xff0c;WebApi方法全部使用了try-catch捕获异常#xff0c;并返回定制的错误消息#xff0c;想当…      ASP.NET MVC 引入的WebApi自然且较好地满足了ajax的交互需求但使用jQuery ajax调用WebApi返回500 Internal Server Error时却不太好查找错误。在一个实际项目中WebApi方法全部使用了try-catch捕获异常并返回定制的错误消息想当然认为有错误就能捕获。但最近网站运行时却总是有500错误花了一番功夫才发现问题所在。 经过多次调试确定这个错误应该是WebApi方法之外引发的方法内部应该被try-catch捕获。初步判断是在ASP.NET MVC框架的JSON序列化返回对象时引发的一个运行时错误。于是使用Newtonsoft.Json.JsonConvert.SerializeObject()方法序列化待返回的对象就发现了错误所在一个类对象的get属性派生值中出现被0除的情况。一般而言对象的get属性仅仅在访问该属性时才运行其中的代码。显然JSON序列化对象时调用了对象所有的get属性代码并获得持久属性值。 结论 WebApi在返回JSON数据时的序列化操作产生的异常是WebApi方法之外的异常暂时不能被捕获.NET Framework 4.0下笔者暂时没有找到捕获的方法此时将返回500 Internal Server Error错误。JSON序列化对象时将获取该对象的所有的get属性值即运行get属性的代码。可以编程模拟JSON的序列化操作从而直接抛出并捕获该异常。本文介绍的方法在Visual Studio Community 2015、 .NET 4.0和ASP.NET MVC4上调试通过。 后记 经过数天的网查调试找到了一个通用的、捕获WebApi方法Json序列化产生异常的方法基本思路定制ASP.NET MVC默认的Json序列化转换器JsonConverter该类由Newtonsoft动态库提供在读写序列化流时捕获异常。 重写的JsonConverter转换器类代码如下 using System; using System.IO; using System.Net; using System.Net.Http; using System.Net.Http.Formatting; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; namespace WebAPI.Common {     public class JsonConverter: MediaTypeFormatter     {         private JsonSerializerSettings _jsonSerializerSettings;         private UTF8Encoding Encoding;         public JsonConverter(JsonSerializerSettings jsonSerializerSettings)         {             _jsonSerializerSettings jsonSerializerSettings ?? new JsonSerializerSettings(); // Fill out the mediatype and encoding we support             SupportedMediaTypes.Add(new MediaTypeHeaderValue(application/json));             Encoding new UTF8Encoding(false, true);         } public override bool CanReadType(Type type)         {             //if (type typeof(IKeyValueModel))             //{             //    return false;             //} return true;         } public override bool CanWriteType(Type type)         {             return true;         } public override Taskobject ReadFromStreamAsync(Type type, Stream readStream, HttpContent content, IFormatterLogger formatterLogger)         {             // Create a serializer             JsonSerializer serializer JsonSerializer.Create(_jsonSerializerSettings); // Create task reading the content             return Task.Factory.StartNew(()             {                 using (StreamReader streamReader new StreamReader(readStream, Encoding))                 {                     using (JsonTextReader jsonTextReader new JsonTextReader(streamReader))                     {                         return serializer.Deserialize(jsonTextReader, type);                     }                 }             });         } public override Task WriteToStreamAsync(Type type, object value, Stream writeStream, HttpContent content, TransportContext transportContext)         {             // Create a serializer             JsonSerializer serializer JsonSerializer.Create(_jsonSerializerSettings); // Create task writing the serialized content             return Task.Factory.StartNew(()             {                 using (StreamWriter streamWriter new StreamWriter(writeStream, Encoding))                 {                     using (JsonTextWriter jsonTextWriter new JsonTextWriter(streamWriter))                     {                         serializer.Serialize(jsonTextWriter, value);                     }                 }             });         }     } }
http://www.zqtcl.cn/news/13169/

相关文章:

  • 企业微信网站建设方案中山网直播
  • 网站开发所遵循聚震网站开发
  • 内容管理系统做网站在哪个网站可以一对一做汉教
  • 哪些平台制作网站凡科建站官网页更换视频
  • 做网站什么硬盘好广州有什么好玩的旅游景点
  • 21dove谁做的的网站图书大厦网站建设报告
  • 做多个网站 买vps医院网站 整站源码
  • 科技成果转化网站建设方案河北建设银行石家庄分行招聘网站
  • 建设银行的登录网站建设网站赚钱
  • 顺德营销网站设计369网站建设
  • 网页制作网站创建创想商务网站建设
  • 网站搭建教学网做柜子好的设计网站
  • 创建网站 优帮云软件开发主要文档
  • wordpress幻灯片回收站在哪里wordpress 写入权限设置
  • 商业网站建设定位免备案空间哪家好
  • 网站开发经验总结wordpress goodstore
  • 佛山网站seo公司网站营销做的好的律师
  • 网站更新步骤郑州网站建设七彩科技
  • 网站建设的关键技术优质的设计网站有哪些
  • 创办网站网站资料筹备
  • 搭建网站不用服务器吗c2c网站建设的需求分析
  • 做app好 还是讯网站好有哪些比较好的做ppt好的网站
  • 学做包子馒头的网站做网站生意买螃蟹
  • 杭州网站建设服务dt模板网
  • 做网站精英网站icp备案信息是什么
  • 做韦恩图的在线网站网络营销的特点决定了它不能满足
  • 网站建设与管理实务义乌加工厂外发加工
  • 青海省住房和建设厅网站本科自考难吗
  • 站长统计app官方网站电子商务网站建设的流程图
  • 葛洲坝机电建设有限公司网站餐馆餐饮装修设计