挖掘WCF和Web Service異同點
我們大家都知道WCF服務,有些人說會了WCF就不需要學會別的東西了,那我們今天就來分析比較一下WCF和Web Service。WCF其中一個重要特性就是支持Web Service的核心協議。無論是服務應用程序還是實際項目中客戶端服務的引用的代碼都能看出很多相似之處。這里先來看看服務程序WCF和Web Service的代碼結構(IIS托管為例)。
兩者除了包括自己的擴展文件外還有與其對應的服務代碼文件。
#T#WCF服務元數據是WCF服務的核心部分服務地址(Address)、綁定(通信協議Binding)、契約(服務、操作、數據Contract)的原始描述信息。服務所公開的元數據包括 XSD(文檔中出現的元素、文檔中出現的屬性、子元素、子元素的數量、子元素的順序、元素是否為空、元素和屬性的數據類型、元素或屬性的默認和固定值)和 WSDL 文檔(用于描述服務的方法、參數、參數個數、順序、返回值、返回值的類型等方法的相關信息)。.Disco文檔(描述服務的協議、地址、命名空間等信息)。
再來看看客戶端WCF和Web Service引用服務后本地的代碼結構。首先是Web Service客戶端的服務引用的本地文件:
其次是WCF客戶端服務引用的文件結構:
兩者都包括服務的本地代碼文件(反序列化生成的本地服務相關代碼),WSDL服務描述文件、XSD服務結構文件。WCF框架模型一定程度上參考了以前的ASP.NET Web Service,并對此進行了擴。