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

[原創(chuàng)]談?wù)刉CF中的Data Contract(4):WCF Data Contract Versioning

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

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

我們同樣通過Dome來說話。在這個Demo中,我使用上面介紹的Order Processing的場景,下面是整個Solution的結(jié)構(gòu)(需要說明的是,本片文章提供的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技術(shù)[原創(chuàng)]談?wù)刉CF中的Data Contract(4):WCF Data Contract Versioning,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 岚皋县| 凤山市| 武鸣县| 夏河县| 康平县| 会理县| 高清| 安丘市| 筠连县| 永兴县| 汉沽区| 伊金霍洛旗| 长子县| 木里| 长汀县| 玉田县| 崇州市| 西城区| 平顺县| 大冶市| 平阴县| 铜陵市| 开平市| 灌南县| 抚顺市| 平乡县| 博乐市| 维西| 金堂县| 泰兴市| 高邮市| 宣恩县| 桦川县| 波密县| 宿迁市| 白水县| 广元市| 尼勒克县| 舞阳县| 襄城县| 蒙阴县|