星空网 > 软件开发 > ASP.net

WebApi系列~dynamic让你的省了很多临时类

回到目录

dynamic这个动态类型早在.net3.5时就已经出现了,当时是伴随的Linq一起让我们认识的,但在使用时总觉得有点别扭,因为它是internal的,所以不能跨程序集使用,这对于分层开发的我们来说显然是不能接受的,所以把dynamic了冷落了很久,应该说是5年吧,哈哈,这几天在睡觉时,突然有个想法,最近在开发SOA时,为了使客户端与服务端有类对应关系,进行序列化,所以总要定义一些DTO,当然你可以把服务端和客户端都引用这个DTO,或者在客户端手动写一个也行,但感觉这两种方式在程序解耦上都不完美,这时我就想起了dynamic,我在序列化时,可不可以用它做中间类型呢?

经过今天的测试,答案是“可以”,这是让我很兴奋的,呵呵

测试代码:

       var url = "http://localhost:24334/api/UserApi";      var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };      using (var http = new HttpClient(handler))      {        //await异步等待回应        var response = http.GetAsync(url);                //将服务端返回的实体序列化为dynamic动态类        var obj = JsonConvert.DeserializeObject<dynamic>(response.Result.Content.ReadAsStringAsync().Result);        //遍历这个动态集合        foreach (var item in obj)        {          return Content("userName:" + item.UserName);        }      }

结果代码:

WebApi系列~dynamic让你的省了很多临时类

web
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

InfiAI:https://www.goluckyvip.com/tag/21448.html
Infibeam:https://www.goluckyvip.com/tag/21449.html
带礼物要缴税:https://www.goluckyvip.com/tag/2145.html
Infinix:https://www.goluckyvip.com/tag/21450.html
Inflection Brands:https://www.goluckyvip.com/tag/21451.html
InflueNex:https://www.goluckyvip.com/tag/21456.html
活动回顾 | 千亚麦佳携手MoonSees呈现精彩亚马逊运营管理课程:https://www.kjdsnews.com/a/1836386.html
生日景点免费 上海景点生日免费景点:https://www.vstour.cn/a/363173.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流