|
軟件工程是一門獨特的工程藝術,需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個系統之間的交互問題,如何有效地解決不斷改變的需求所帶來的問題就顯得更為重要:Service端版本的變化能否保持現有Consumer的正常調用,Consumer端的改變不至于影響對Service 的正常調用。對于Data Contract來說就是要解決這樣的問題:Service端或者Client對Data Type的改變不會影響Service的正常調用。
在系統開發過程中,通過對Data Type添加額外的字段進而對其進行擴展,是一個種很常見的場景。本部分就作中介紹Data Contract的這種變化,Service或者Client的Data Contract在本地添加一個新的Data Member會造成怎樣的影響,WCF可以采用怎樣的機制來解決這種單方面Data Contract版本的改變。
我們同樣通過Dome來說話。在這個Demo中,我使用上面介紹的Order Processing的場景,下面是整個Solution的結構(需要說明的是,本片文章提供的Code片斷和Source Code都是基于VS 2008的)。
1. Service端: Artech.DataContractVersioning.Service
Data Contract

























NET技術:[原創]談談WCF中的Data Contract(4):WCF Data Contract Versioning,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。