色尼玛亚洲综合影院,亚洲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,轉載需保留來源!

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

主站蜘蛛池模板: 通化县| 夏津县| 汝南县| 新干县| 新沂市| 松阳县| 马鞍山市| 双牌县| 淳安县| 大港区| 靖远县| 星座| 两当县| 砀山县| 长兴县| 宜宾县| 油尖旺区| 新宁县| 佛冈县| 合作市| 泸州市| 马关县| 瓮安县| 宽甸| 格尔木市| 奉化市| 扎囊县| 祁连县| 云霄县| 温宿县| 安阳县| 平陆县| 修文县| 铁岭市| 留坝县| 威远县| 马关县| 托里县| 南开区| 贡山| 弥勒县|