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让你的省了很多临时类,如需转载请自行联系原博主。

目录
相关文章
|
6月前
|
文件存储
Yii2.0框架提供了内置的文件访问组件,可以通过配置只允许访问指定的目录,防止非法文件的包含。这个如何使用?
Yii2.0框架提供了内置的文件访问组件,可以通过配置只允许访问指定的目录,防止非法文件的包含。这个如何使用?
【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )
【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )
128 0
【Groovy】MOP 元对象协议与元编程 ( Expando 动态类 | 创建动态类 | 为动态类增加字段和方法 )
|
前端开发 API JavaScript
WebApi 中FromUri参数自动解析成实体的要求
条件一:类属性名称必须和参数名称相同(不分大小写) 条件二:API参数必须以[FromUri]来修饰(数组也需要添加,否则参数传递不了) 条件三:属性类型为“类”的,如果使用类名(导航属性在本类的名称,可以不是类的原名).
1237 0
|
Web App开发 Android开发
相关产品
云迁移中心
推荐文章
更多