介尘部落

文学|音乐|休闲娱乐|计算机技术|地球科学|社会学——知识成就命运


.Net WebApi 默认接收单个参数是取自URL query string ,对象则是取自Request Body,不论对象包含一个属性还是多个属性。如果在Request Body中传递单个参数,在接口中接收的时候始终为空。解决方法也就是将此参数改变为一个单个属性的对象,使用这个对象作为接收参数的对象,再从对象中获取该参数。还有另外一种暴力的方式,则是使用JObject,结合[FromBody]特性。 [HttpPost] public Order QueryOrderInfo([FromBody]JObject json){ var ID =
本文代码仅为提供思路,代码并非完美。#region 上传图片///<summary>/// 上传图片到服务器 当error为0时成功,为1时失败 并从errmsg获取消息///</summary>///<returns>///</returns>public Task<Hashtable> post(){ String PhoneId = null; // 检查是否是 multipart/form-data if (!Request.Content.IsMimeMultipartContent("form-data"))
XMLHttpRequest 的同源策略看起来是如此的变态,即使是同一个公司的产品,也不可能完全在同一个域上面。还好,网络设计者在设计的时候考略到了这一点,可以在服务器端进行一些定义,允许部分网络访问。CORS 的全称是 Cross-Origin Resource Sharing,即跨域资源共享。他的原理就是使用自定义的 HTTP 头部,让服务器与浏览器进行沟通,主要是通过设置响应头的 Access-Control-Allow-Origin 来达到目的的。这样,XMLHttpRequest 就能跨域了。值得注意的是,正常情况下的 XMLHttpRequest 是只发送一次请求的,但是跨域问题下
在使用ef查询时如果使用AsNoTracking()返回有级联关系的对象且关联关系中数据不为空时,webapi action内执行没问题,但到了最终序列化为json时引发错误。本来使用NoTracking是为提升效率,结果却因为序列化这点小问题难道要被弃用么?查遍网络依然无解。试过了include(),与load()方法,均无效。最终发现问题在对象循环引用。使用忽略序列属性这个问题就算是解决了吧。
1.模型建立,在模型上类上添加System.ComponentModel.DataAnnotations验证属性public class Product { public int Id { get; set; } [Required] public string Name { get; set; } public decimal Price { get; set; } [Range(0, 999)] public double Weight { get; set; } }2.在ApiController类中使用验证结果public HttpResponseMessage Post(Produc
  • Page 1 of 1
  • «
  • 1
  • »
  • Total 10
×