中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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

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

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

我們同樣通過Dome來說話。在這個(gè)Demo中,我使用上面介紹的Order Processing的場景,下面是整個(gè)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)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久一区 | 久久九九网站 | 欧美久久免费观看 | 亚洲精品无| 国产色婷婷久久99精品91 | 久久国产激情视频 | 99久久99久久精品国产片果冰 | 国产一级片在线播放 | 欧美精品在线一区二区三区 | 91av在线看 | 日日骑 | 午夜影院在线观看 | a视频在线| 中文字幕亚洲视频 | 国产一区二区三区 | 日日拍夜夜 | 国产精品久久久久久久久久久久 | 日韩欧美天堂 | 日韩美女一区二区三区在线观看 | 精品一区二区在线观看 | 亚洲精品一区二区 | 99成人| 亚洲一区二区久久 | 久久久久久一区 | 二区成人 | 久久国产成人 | 日韩久久精品 | 亚洲精精品 | 国产精品免费一区二区三区四区 | 午夜精品一区二区三区在线观看 | 国产精品国产a | 日韩电影一区 | 免费在线观看黄网站 | 国产不卡在线播放 | 国产一区二区精品在线 | 蜜桃一区二区三区 | 国产精品一区在线 | 日韩综合在线视频 | 亚洲免费观看 | 国产日韩欧美一区二区 | 久久九 |