zoukankan      html  css  js  c++  java
  • 关于AutoMapper和WCF的一些认识

         现在互联网时代呈尚快速开发,快速迭代。伴随着必然产生一些好用的第三方工具,今天有幸看到了Automapper这种类似ORM的框架,但是跟ORM还不太一样,

    ORM是实体和数据库表之间的映射,而此框架主要实现实体和实体间映射,两个实体可以互相转换,即便两个实体属性名称和类型不一致也可以相互赋值,可以指定规则两个实体属性名称和个数必须一致或者忽略.

         公司最近做了一个新项目,就是基于restFul实现的WCF,最主要实现是服务契约接口方法要加属性WebInVoke,例如:

    [WebInvoke(Method = "GET", UriTemplate = "Method/{Id}"
    , RequestFormat = WebMessageFormat.Json
    , ResponseFormat = WebMessageFormat.Json)]

     FundClassBasicRecord Method(string Id);

    客户端访问方式不能采用原来的访问WCF的方式去访问服务端,否则会提示没有配置endpoint之类的错误,因为restful是基于http协议的,也就是基于URI,所以客户端采用webClient,参考代码如下:

      protected void Page_Load(object sender, EventArgs e)
            {
                GetInfoByID("F00000O593");
            }
            private void GetInfoByID(string id)
            {
                WebClient proxy = new WebClient();
                string serviceURL = string.Empty;
                DataContractJsonSerializer obj;
                if (string.IsNullOrEmpty(id))
                {
                    serviceURL = string.Format("URI/");
                    obj = new DataContractJsonSerializer(typeof(List<>));
                }
                else
                {
                    serviceURL = string.Format("URI/" + id);
                    obj = new DataContractJsonSerializer(typeof(FundClassBasicRecord));
                }
                byte[] data = proxy.DownloadData(serviceURL);
                Stream stream = new MemoryStream(data);
                var result = obj.ReadObject(stream);
                List<InforRecord> list = new List<InforRecord>();
                if (result is InforRecord)
                    list.Add(result as InforRecord);
                else if (result is List<InforRecord>)
                    list = result as List<InforRecord>;
            }
  • 相关阅读:
    详细聊聊k8s deployment的滚动更新(一)
    更新k8s镜像版本的三种方式
    深入理解docker信号机制以及dumb-init的使用
    10分钟教你理解反射
    nodejs的交互式解释器模式常用命令
    nrm的安装和使用
    复杂sql语句之单字段分类count计数和多字段count计数
    navicat连接mysql出现2059
    mongodb常规操作语句
    System.Web.NullPointerException
  • 原文地址:https://www.cnblogs.com/cby-love/p/5333760.html
Copyright © 2011-2022 走看看