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

网站建设 广告如何设置淘宝友情链接

网站建设 广告,如何设置淘宝友情链接,乡村网站建设,江门企业网站建设公司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/627431/

相关文章:

  • 装修素材图片都从什么网站找铁门关网站建设
  • 网站服务器环境不支持mysql数据库免费商标图案logo
  • 以什么主题做网站好wordpress怎么设置404
  • 为什么手机进网站乱码网络营销工具的特点
  • DW怎么做网站下拉菜单网站建设外包网站
  • 手机做兼职的网站设计公司注册记账代理公司
  • 如何在vs做网站建筑工程电影网
  • 甘肃网站开发网站建设自己在家接单
  • 龙岗网站制作资讯福田区龙岗区发布通告
  • 百度如何快速收录网站嘉兴手机建站模板
  • 服务注册中心有哪些给你一个网站你如何做优化
  • 我做网站如何分流客户openwrt 做视频网站
  • 徐州微信网站建设建设工程项目
  • 便宜网站建设公司envision wordpress
  • 网站怎么做百度快照logo网站域名做固定资产怎么处理
  • 2003 iis网站发布工会网站建设管理工作总结
  • 商城网站大概多少钱长沙网站设计公司推荐
  • 海南省交通建设局网站首页做网站开发一般用什么语言
  • 个人备案网站沭阳哪里可以做网站
  • 环球资源网站什么时候做的搜索引擎优化名词解释
  • 名者观看网站做商城网站还要服务器
  • 网站建设课程考核方案广州 天河网站设计
  • 写作网站哪个比较赚钱小红书推广运营
  • 明年做啥网站能致富网站 公众号 建设方案
  • wordpress怎么修改网站标题做招投标应该了解的网站
  • 大庆市网站建设公司dooplay主题wordpress
  • 小学网站建设实施方案手机网站策划书方案
  • 延边网站建设国外设计公司网站欣赏
  • 团队介绍网站建设武功县住房和城乡建设局官网站
  • 如何用模板做网站爱采购官网首页