標籤:asp img 軟體 通訊 服務 simple studio 一句話 小結
一、課程介紹
一位偉大的講師曾經說過一句話:事物存在即合理!意思就是說:任何存在的事物都有其存在的原因,存在的一切事物都可以找到其存在的理由,我們應當把焦點放在因果關聯的本質上。所以在本次分享課開課之前,我們要“約法三章”不談論以下幾個比較“嚴肅”和“敏感”的話題:WebService已經過時了啦,學習它幹什麼用啊!為什麼要用WebService,而不用基於當前流行的RestFul ASP.NET WebAPI ? 對於上面的問題阿笨的回答很簡單:因為它就是它,不一樣煙火的WebService!
本次分享課您將學習到以下乾貨知識點:
1)、WebService技術調用原理圖。
2)、C# WebService常用的幾種調用方式。
3)、C# WebService調試小技巧和開發必備工具分享。
4)、實戰演練之如何通過優雅的方式進行WebService調用。 優不優雅,你看了就知道了,我們儘可能的Write Less Do More !(強烈推薦)
在此插播一條硬廣告:下一堂分享課程阿笨計劃將給大家帶來《C#遠程調用技術WebService葵花寶典》,課程的重點將給大家分享一下“C# WebService兩種不同引用使用方式”,“WebService如何使用非同步呼叫”以及“關於C# WebService如何讓用戶端以安全的方式進行調用目前常用幾種的解決方案”等等。阿笨盡量給大家帶來一些乾貨分享!
如果您對本次分享課感興趣的話,那麼請跟著阿笨一起學習吧。廢話不多說,直接上乾貨,我們不生產乾貨,我們只是乾貨的搬運工。
hi大家好,我的名字叫WebService!二、概念名稱含義解釋
2.1、什麼是遠程調用技術(簡稱:RPC技術)?
一個系統遠程調用另一個系統的服務,來擷取遠程系統的業務資料。
2.2、為什麼使用RPC技術?
基於安全性的考慮,一般企業不會開放自己的資料庫,只能使用遠程調用技術。
2.3、什麼是SOAP?
SOAP:(Simple Object Access Protocol)簡單對象存取協議。SOAP最早是針對RPC的一種解決方案;SOAP是XML文檔形式的調用方法的規範。
2.4、什麼是WebService?
WebService是一種使用HTTP傳輸的SOAP協議的遠程調用技術。
2.5、WebService採用的是什麼通訊協定?
WebService 採用的的基本通訊協定是SOAP ,它是在分散或分布式環境中交換資訊,它基於XML的協議,通過SOAP協議可以實現不同項目、不同地點、甚至異地調用應用程式。
2.6、為什麼說WebService是跨平台的?
實際上,WebService 的主要目標是跨平台的可互通性。為了達到這一目標,WebService 完全基於XML (可延伸標記語言 (XML))、XSD (XMLSchema )等獨立於平台、獨立於軟體供應商的標準,是建立可互操作的、分布式應用程式的新平台。
2.7、WebService實現包含那三要素?
WSDL作用:webservice服務端的使用說明書。(Web Service Description Language)
SOAP作用:規範XML標籤。
UDDI:提供webservice服務端的搜尋和註冊功能。
2.8、WebService有哪些優勢?
1)、可操作的的分布式應用程式。
可以實現不同應用程式和在不同系統平台上開發出來的應用程式之間通訊。
2)、普遍性、使用HTTP和XML進行通訊。
任何支援HTTP和XML 技術的裝置都可以擁有和訪問Web Service,不同平台不同開發語言照樣可以調用我們發布的Web Service。
3)、Web Service 甚至可以穿越防火牆,真正的自由通訊。
一般要訪問的Web伺服器以及要訪問的Web Service的用戶端很可能位於防火牆後面,都預設關閉其它連接埠而開發HTTP連接埠,而Web service 正是基於HTTP的,所以它可以穿越防火牆.
4)、異構平台之間的互連性。
Web Service 最大的優勢是提供了異構平台的無縫街接技術手段。由於不同的使用者使用不同的硬體平台,不同的操作平台,不同的作業系統,不同的軟體,不同的 協議通訊,這就產生了互相通訊的需求。 Web Service 使任何兩個應用程式,只要能讀寫XML,那麼就能互相通訊。 通過 SOAP 協議實現異地調用。
小結:
阿笨用通俗一點語言解釋就是在當前C#、JAVA、PHP等語言都可以使用標準的WebService技術實現不同語言的應用程式之間進行互相通訊,即互相調用。
三、WebService技術調用原理圖
WebService工作原理圖一
WebService工作原理圖二
3.1、Webservice是如何?遠程調用?三要素在webservice的作用?
(1)Webservice原理:webservice是一種使用http傳輸的SOAP協議的資料的遠程調用技術。
(2) WSDL作用:webservice服務端的使用說明書。(Web Service Description Language)
(3)SOAP作用:規範XML標籤。
(4) UDDI:提供webservice服務端的搜尋和註冊功能。
3.2、WebService關鍵原理說明:
服務者:發行者需要部署Webservice服務應用程式。
調用者:用戶端需要參考webservice服務端的使用說明書(WSDL)進行調用。
四、C# WebService常用的幾種調用方式
4.1、C#通過Dynamic動態調用WebService。
其實與手工建立添加引用步驟一樣,只是在這裡把手動變成了自動而已,動態組建代理程式類,利用反射動態調用了方法。詳細請參考:[C#通過Dynamic動態調用WebService.pdf]文檔。
4.2、C#通過類比HTTP請求協議Get、POST方式進行調用WebService。(根據個人項目情況使用)
詳細請參考:[C#通過類比HTTP請求協議Get、POST方式進行調用WebService.pdf]文檔。
4.3、通過手動產生用戶端WSDL代理類進行調用。(根據個人項目情況使用)
採用微軟給我們提供的wsdl.exe工具產生wsdl本地代理類。
4、通過SOAP協議手動引用方式進行調用。(微軟強烈推薦)
五、C# WebService調試小技巧和開發必備工具分享
5.1、C# 如何調試WebService服務以及調試遠程Web服務。
詳細請參考[C# WebService如何遠端偵錯.pdf]
5.2、Webservice調試利器
1、微軟提供的.NET WebService Studio
:http://webservicestudio.codeplex.com/
2、Storm (推薦)
:http://storm.codeplex.com/ ,順便提及下該工具還有一個它的“同胞兄弟”叫 WCF Storm 哦。
3、soapui(強烈推薦)
:https://www.soapui.org/downloads/latest-release.html
六、實戰演練之如何通過優雅的方式進行WebService調用
統一入口擷取指定T類型的WebService服務執行個體
用戶端調用者將採用統一入口進行訪問
C#遠程調用技術WebService修鍊手冊