WCF選擇綁定在實際應(yīng)用中技巧分享
我們今天將會在這篇文章中為大家詳細(xì)介紹一下有關(guān)WCF選擇綁定的相關(guān)應(yīng)用方法,對于初學(xué)者來說,可以通過本文介紹的內(nèi)容從中獲得一些幫助,從而解決在實際應(yīng)用中遇到的一些問題。#t#
為WCF選擇綁定服務(wù)應(yīng)該遵循圖所示的決策活動圖表。首先需要確認(rèn)服務(wù)是否需要與非WCF的客戶端交互。如果是,同時客戶端又是舊的MSMQ客戶端,選擇MsmqIntegrationBinding綁定就能夠使得服務(wù)通過MSMQ與該客戶端實現(xiàn)互操作。如果服務(wù)需要與非WCF客戶端交互,并且該客戶端期望調(diào)用基本的Web服務(wù)協(xié)議(ASMX Web服務(wù)),那么選擇BasicHttpBinding綁定就能夠模擬
ASMX Web服務(wù)(即WSI-Basic Profile)公開WCF服務(wù)。缺點是我們無法使用大多數(shù)***的WS-*協(xié)議的優(yōu)勢。但是,如果非WCF客戶端能夠識別這些標(biāo)準(zhǔn),就應(yīng)該選擇其中一種 WS綁定,例如WSHttpBinding、WSFederationBinding或者WSDualHttpBinding。如果假定客戶端為WCF客戶端,同時需要支持脫機或斷開狀態(tài)下的交互,則可以選擇NetMsmqBinding使用MSMQ傳輸消息。如果客戶端需要聯(lián)機通信,但是需要跨機器邊界調(diào)用,則應(yīng)該選擇NetTcpBinding通過TCP協(xié)議進(jìn)行通信。如果相同機器上的客戶端同時又是服務(wù),選擇NetNamePipeBinding使用命名管道可以使性能達(dá)到***化。如果基于額外的標(biāo)準(zhǔn),例如回調(diào)(選擇WSDualHttpBinding)或者聯(lián)邦安全(選擇 WSFederationBinding),則應(yīng)對選擇的綁定進(jìn)行微調(diào)。
注意:即使超出了使用的目標(biāo)場景,大多數(shù)綁定工作仍然良好。例如,我們可以使用TCP綁定實現(xiàn)相同機器甚至進(jìn)程內(nèi)的通信;我們也可以使用基本綁定實現(xiàn)Intranet中WCF對WCF的通信。然而,我們還是應(yīng)盡量按照圖WCF選擇綁定。
使用綁定:每種綁定都提供了多種可配置的屬性。綁定有三種工作模式。如果內(nèi)建綁定符合開發(fā)者的需求,就可以直接使用它們。我們也可以對綁定的某些屬性如事務(wù)傳播、可靠性和安全性進(jìn)行調(diào)整與配置,還可以定制自己的綁定。最常見的情況是使用已有的綁定,然后只對綁定的幾個方面進(jìn)行配置。應(yīng)用程序開發(fā)者幾乎不需要編寫定制綁定,但這卻是框架開發(fā)者可能需要做的工作。
以上就是我們對WCF選擇綁定的相關(guān)內(nèi)容的介紹。