色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

[原創]談談WCF中的Data Contract(4):WCF Data Contract Versioning

軟件工程是一門獨特的工程藝術,需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個系統之間的交互問題,如何有效地解決不斷改變的需求所帶來的問題就顯得更為重要:Service端版本的變化能否保持現有Consumer的正常調用,Consumer端的改變不至于影響對Service 的正常調用。對于Data Contract來說就是要解決這樣的問題:Service端或者ClientData Type的改變不會影響Service的正常調用。

在系統開發過程中,通過對Data Type添加額外的字段進而對其進行擴展,是一個種很常見的場景。本部分就作中介紹Data Contract的這種變化,Service或者ClientData Contract在本地添加一個新的Data Member會造成怎樣的影響,WCF可以采用怎樣的機制來解決這種單方面Data Contract版本的改變。

我們同樣通過Dome來說話。在這個Demo中,我使用上面介紹的Order Processing的場景,下面是整個Solution的結構(需要說明的是,本片文章提供的Code片斷和Source Code都是基于VS 2008的)。

1.   Service: Artech.DataContractVersioning.Service

Data Contract

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;

namespace Artech.DataContractVersioning.Service
{
    [DataContract(Namespace
="http://artech.datacontractversioning")]
    
public class Order
    
{
        [DataMember(Order 
= 0)]
        
public Guid OrderID
        
{get;set;}

        [DataMember(Order 
= 1)]
        
public DateTime OrderDate
        
getset; }

        [DataMember(Order 
= 2)]
        
public Guid SupplierID
        
getset; }
    }

}

NET技術[原創]談談WCF中的Data Contract(4):WCF Data Contract Versioning,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 永靖县| 红桥区| 四会市| 朝阳市| 娱乐| 平遥县| 镇江市| 龙南县| 大丰市| 喀喇沁旗| 定兴县| 福贡县| 县级市| 峨眉山市| 楚雄市| 霍山县| 河东区| 曲阜市| 乌兰县| 长海县| 招远市| 水城县| 荣昌县| 长宁县| 三穗县| 红河县| 新宁县| 佛冈县| 图片| 郁南县| 六安市| 潜江市| 南投市| 都江堰市| 获嘉县| 故城县| 军事| 鸡泽县| 乐安县| 石门县| 广汉市|