ASP.NET 3.5 WCF服務(wù)簡介
ASP.NET 3.5 WCF服務(wù)簡介
在過去的幾年中,Web服務(wù)一直在大做宣傳,宣稱提供了跨平臺的服務(wù)。實現(xiàn)證明,Web服務(wù)的確支持在不同的平臺上使用客戶機和服務(wù)器。此外,通過定義一個WSDL契約,可以提前計劃版本的改變,從而有效地避免已有的客戶機和服務(wù)器可能出現(xiàn)的崩潰。目前,微軟ASP.NET是用于開發(fā)Web服務(wù)的重要技術(shù)之一。Web服務(wù)在ASP.NET和JAVA等平臺上的廣泛應(yīng)用是Web服務(wù)技術(shù)生命力鮮活的有力佐證。
然而,在ASP.NET Web服務(wù)中存在的問題是,它使用的是HTTP協(xié)議(通過WSE 2.0,也可以使用TCP信道),用SOAP協(xié)議進行XML串行化的速度不夠快,一些擴展功能很難使用。Web服務(wù)技術(shù)的確在提供跨平臺服務(wù)方面邁出了重要的一步,但是在建立涉及到許可的可交互操作服務(wù)、需要保證消息的傳輸、要求獨立于平臺的身份驗證、授權(quán)和機密性等方面,僅僅依賴于Web服務(wù)已經(jīng)表現(xiàn)得相當吃力。
隨著.NET 3.0框架的正式推出,WCF(Windows通信基礎(chǔ))閃亮登場。WCF的核心目的是,允許程序與同一臺計算機或網(wǎng)絡(luò)上的或跨越互聯(lián)網(wǎng)的其它程序?qū)崿F(xiàn)通訊。此模型把以前在網(wǎng)絡(luò)上使用服務(wù)的四種重要技術(shù)即Web服務(wù)、.NET遠程技術(shù)、分布式事務(wù)和消息隊列統(tǒng)一到單個面向服務(wù)的編程模型中,從而實現(xiàn)真正意義上的分布式計算。WCF代表了微軟通信技術(shù)的未來發(fā)展方向。因此,從原則上講,凡是需要使用上面四種技術(shù)的開發(fā)都可以使用WCF代之。
盡管如此,現(xiàn)實的Web開發(fā)環(huán)境不可能使開發(fā)人員全部選擇***的WCF通信技術(shù)。也就是說,基于ASP.NET 2.0 Web服務(wù)技術(shù)的應(yīng)用目前乃到將來幾年中仍會占有相當?shù)氖袌龇蓊~。
ASP.NET AJAX框架極大地簡化了從ASP.NET應(yīng)用程序中調(diào)用本地服務(wù)乃至遠程服務(wù)的操作,甚至提供了許多內(nèi)置的服務(wù)器服務(wù),例如用戶身份驗證服務(wù)和用戶個性化服務(wù)等。
【注意】在.NET框架 3.5以前,WCF中并沒有實現(xiàn)對于JSON數(shù)據(jù)的內(nèi)置支持。如今,隨著.NET框架 3.5的正式推出,WCF已經(jīng)實現(xiàn)了對于JSON串行化與非串行化的支持。現(xiàn)在的WCF服務(wù)可以根據(jù)開發(fā)需要有選擇地輸出JSON,而不是和以前那樣僅能支持SOAP模式封裝的數(shù)據(jù)。
【編輯推薦】