第一章 基礎 (續)

所以客戶端代碼可以簡單的調用一個終結點。代理接口不必與服務簽名保持一致,但是代理需要確保傳輸給服務的消息就是服務契約所描述的。app.config 文件包含了特殊綁定。

 

實現一個WCF服務

這一部分描述怎麼樣使用WCF實現一個簡單的服務。最簡單的方式,我們將使用HTTP 協議,我們將使用文本形式的XML文檔。對於安全,我們假設它已經在應用程序中進行了相關處理。我們使用了同步請求-回覆方式而且我們的服務只支持一個操作,就是接受輸入字符串返回double 型輸出。在接下來的章節中,我們會改變所有這些假定,但是目前爲止,我們需要排除不必要的複雜性。

 

僅僅是ABCs

定義一個服務終結點,要記住ABCs:地址,綁定和契約。以下內容將會在在1.1 到1.3列表中描述。

 

    "A" 是地址,哪裏。這個服務在http://localhost:8000/EssentialWCF 監聽請求.

    "B" 是綁定,怎麼樣。這個例子使用basicHttpBinding,指導WCF使用WS-I 1.1 協議,最通用的web service 通信協議。

    "C" 是契約,什麼。這是一個服務操作和服務需要什麼樣的輸入輸出消息的語法描述。在這個例子中,契約定義在StockService 類中。

 

    在這一部分我們將會實現這個服務兩次。第一次我們將完全使用代碼演示解決方案,ABCs直接使用代碼來定義。這將減少額外的依賴。然後我們將使用配置文件再次實現這個服務。這將減少代碼量也將由於代碼和配置文件之間的依賴性而導致服務複雜性增加。在實際應用中,你可能會採取後一種方法,因爲增加的複雜性會帶來靈活性豐富的回報。靈活性源自於配置中暴露的一些特性,系統管理員可以修改它們,而在代碼中暴露其他特性,卻只能由程序員修改。

 

完全使用代碼編寫一個WCF服務

在一個高的等級裏,寫一個WCF服務就像寫其他服務一樣,不考慮內部實現。你首先要寫一些代碼來實現一個功能;然後你在一個操作系統進程中運行這些代碼,這個進程監聽請求回覆。WCF將這些步驟正式化而且使程序員能夠更加容易的處理每一個節點。比如,使用系統提供的綁定和編碼器,WCF 服務將可以與標準的SOAP消息通信。默認情況下,多線程,併發和實時也可以很好的實現而且有可預見的行爲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章