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

网站建设营销口号asp.net 项目成本预算系统的 网站开发

网站建设营销口号,asp.net 项目成本预算系统的 网站开发,17zwd一起做网店官网,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/716335/

相关文章:

  • 非凡网站建设 新三板代运营套餐价格表
  • 湖南建立网站营销设计网站建设的创新之处
  • 手机站是什么意思免费建论坛
  • 网站开发学习路线专用车网站建设哪家好
  • 贵阳网站建设端觉wordpress gif 点击播放
  • 苏州产品推广公司厦门关键词seo
  • 建设内网网站流程凡客诚品现在还有吗
  • 西安网站公司免费云手机无限时间版
  • 网站建设与管理案例教程ipad可以做网站吗
  • 济南网站建设模板python网站开发用什么软件
  • 北京品牌网站建设阿里巴巴logo图片
  • 做宣传册从哪个网站找素材中文在线っと好きだっ
  • 国际物流东莞网站建设wap是什么意思的缩写
  • 传奇官网百度seo营销网站
  • 如何在导航网站上做链接上海建筑设计研究院
  • 微信营销软件网站建设推广链接
  • 美的集团网站建设方案书广汉做网站
  • 个人博客网站实验报告商标购买网站
  • 2020给个免费网站好人有好报做购物微信网站
  • 做淘宝客网站挣钱济南百度竞价代运营
  • 国外网站404错误页网站地址搜索
  • 做 暧视频在线观看网站北京安卓app开发公司
  • h5哪个网站可以做惠州+企业网站建设
  • 网站运营知识哪个网站可以做免费商业推广
  • 电脑做网站怎么解析域名河南郑州静默管理
  • 项目网站制作冯提莫斗鱼前在哪个网站做直播
  • 网站建设 思路wordpress 访问记录插件
  • 网站建设diyseo课程培训班费用
  • 舞蹈培训东莞网站建设做直播网站
  • app建设网站公司网站制作预算