zoukankan      html  css  js  c++  java
  • WCF 实体更改发布后,如何不影响调用方?

    应用场景:使用 WCF 有一个坏处,就是如果我们经常对 WCF 应用程序更新,有时候调用方也要进行 Update Service,但调用方往往会很多,那么这个工作就会很讨厌,比如 WCF Service 返回的实体类型更改了,这时候不更新调用方就会报错,怎么解决这个问题?

    原始 ProductDTO:

    namespace Sample.App.Application.DTO
    {
        [Serializable]
        [DataContract]
        public class ProductDTO
        {
            [DataMember]
            public int ID { get; set; }
            [DataMember]
            public string Name { get; set; }
            [DataMember]
            public string Size { get; set; }
        }
    }
    

    更改后的 ProductDTO:

    namespace Sample.App.Application.DTOs
    {
        [Serializable]
        [DataContract]
        public class ProductDTO
        {
            [DataMember]
            public int ID { get; set; }
            [DataMember]
            public string Name { get; set; }
            [DataMember]
            public string Size { get; set; }
            public string Remark { get; set; }
        }
    }
    

    两个更改:

    • 命名空间 Sample.App.Application.DTO 改为 Sample.App.Application.DTOs。
    • 增加 Remark,但是不想暴露给调用方。

    如果我们不更新调用方,这时候将获取不到 ProductDTO,但不会报错。

    解决方式:

    namespace Sample.App.Application.DTOs
    {
        [Serializable]
        [DataContract(Namespace = "http://schemas.datacontract.org/2004/07/Sample.App.Application.DTO")]
        public class ProductDTO
        {
            [DataMember]
            public int ID { get; set; }
            [DataMember]
            public string Name { get; set; }
            [DataMember]
            public string Size { get; set; }
            [IgnoreDataMember]
            public string Remark { get; set; }
        }
    }
    

    注:

    • DataContract - Namespace:自定义类型命名空间,和调用方保持一致。
    • IgnoreDataMember:忽略属性映射。
  • 相关阅读:
    PAT 顶级 1010 Lehmer Code (35 分)
    PAT 顶级 1010 Lehmer Code (35 分)
    CCF CSP 201909-4 推荐系统
    CCF CSP 201909-4 推荐系统
    Codeforces 1251C Minimize The Integer
    Codeforces 1251C Minimize The Integer
    CCF CSP 201803-4 棋局评估
    CCF CSP 201803-4 棋局评估
    【DP_树形DP专题】题单总结
    【DP_树形DP专题】题单总结
  • 原文地址:https://www.cnblogs.com/xishuai/p/4786791.html
Copyright © 2011-2022 走看看