使用VPN或者ER服務建立云服務和本地服務網(wǎng)絡通道來搭建混合應用的方式,需要網(wǎng)絡設(shè)備的配合和比較復雜的網(wǎng)絡配置,所以不是特別的方便。如果是不希望對本地網(wǎng)絡環(huán)境做修改,而只是服務層面的混合,那么可以使用一個更方便的服務 – Azure中繼服務?;贏zure中繼服務訪問本地服務,客戶端不需要與本地服務建立直接連接,也不需要了解服務所在的位置,并且本地服務無需在防火墻上打開任何入站端口。
Azure中繼服務支持傳統(tǒng)的單向消息傳送、請求/響應消息傳送和對等消息傳送。它還支持 Internet 范圍的事件分發(fā),以實現(xiàn)發(fā)布-訂閱方案和雙向套接字通信,從而提高點到點通信效率。在中繼消息傳送模式中,本地服務會通過出站端口連接至中繼服務,并為綁定至特定會合地址的通信創(chuàng)建一個雙向套接字。然后,客戶端可以通過將消息發(fā)送到抵達會合地址的中繼服務來與本地服務通信。
目前Azure提供兩種中繼服務,WCF(Windows Communication Foundation)中繼和混合連接。其中WCF中繼是傳統(tǒng)的服務,適合于基于WCF的本地服務。(關(guān)于WCF請參閱 WCF 官方文檔)。而混合連接使用開放標準Web套接字,可實現(xiàn)多平臺方案,適用性更廣。
本文介紹如何使用WCF中繼來構(gòu)建混合應用。
WCF中繼
WCF中繼允許你向公有云公開位于企業(yè)網(wǎng)絡內(nèi)的WCF服務,而無需打開防火墻連接,也無需對企業(yè)網(wǎng)絡基礎(chǔ)結(jié)構(gòu)進行徹底的更改。而且它還允許你安全的控制誰可以訪問這些服務。另外對你原來的WCF項目所需要做的改動也是很小的。