對(duì)WCF框架服務(wù)模型簡(jiǎn)介
下面我們將會(huì)從WCF框架各個(gè)功能出發(fā),來(lái)講述WCF該框架的全新功能,這主要包括C#3.0,VB9.0,WCF,WPF,WP,LINQ,AJAX,mobile開(kāi)發(fā),Cardspace,智能客戶端。
WCF全稱(chēng)Windows Communication Foundation,是Microsoft為構(gòu)建面向服務(wù)的應(yīng)用提供的分布式通信編程框架,是.NET Framework 3.5的重要組成部分。使用該框架,開(kāi)發(fā)人員可以構(gòu)建跨平臺(tái)、安全、可靠和支持事務(wù)處理的企業(yè)級(jí)互聯(lián)應(yīng)用解決方案。#t#
根據(jù)微軟官方的解釋?zhuān)?FONT>WCF框架(之前的版本名為“Indigo”)是使用托管代碼建立和運(yùn)行面向服務(wù)(Service Oriented)應(yīng)用程序的統(tǒng)一框架。它使得開(kāi)發(fā)者能夠建立一個(gè)跨平臺(tái)的安全、可信賴、事務(wù)性的解決方案,且能與已有系統(tǒng)兼容協(xié)作。WCF是微軟分布式應(yīng)用程序開(kāi)發(fā)的集大成者,它整合了.Net平臺(tái)下所有的和分布式系統(tǒng)有關(guān)的技術(shù),如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息隊(duì)列。
以通信(Communiation)范圍而論,它可以跨進(jìn)程、跨機(jī)器、跨子網(wǎng)、企業(yè)網(wǎng)乃至于 Internet;以宿主程序而論,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作為宿主(Host)。WCF框架可以支持的協(xié)議包括TCP,HTTP,跨進(jìn)程以及自定義,安全模式則包括SAML, Kerberos,X509,用戶/密碼,自定義等多種標(biāo)準(zhǔn)與模式。也就是說(shuō),在WCF框架下,開(kāi)發(fā)基于SOA的分布式系統(tǒng)變得容易了,微軟將所有與此相關(guān)的技術(shù)要素都包含在內(nèi),掌握了WCF框架,就相當(dāng)于掌握了叩開(kāi)SOA大門(mén)的鑰匙。Web 服務(wù)中包含了用于應(yīng)用程序間通信的標(biāo)準(zhǔn)協(xié)議,它在全球范圍內(nèi)的廣泛采納改變了軟件開(kāi)發(fā)。
例如,如今 Web 服務(wù)提供的功能包括安全性、分布式事務(wù)協(xié)調(diào)和可靠的通信。Web 服務(wù)所發(fā)生的這些改變的效益應(yīng)反映在開(kāi)發(fā)人員所使用的工具和技術(shù)方面。設(shè)計(jì) Windows Communication Foundation (WCF) 的目的是為分布式計(jì)算提供可管理的方法,提供廣泛的互操作性,并為服務(wù)定位提供直接的支持。
類(lèi)型化編程模型(稱(chēng)為“服務(wù)模型”)設(shè)計(jì)用來(lái)降低分布式應(yīng)用程序的開(kāi)發(fā)難度,并為 ASP.NET Web 服務(wù)、.NET Framework 遠(yuǎn)程處理和企業(yè)服務(wù)領(lǐng)域的專(zhuān)業(yè)開(kāi)發(fā)人員,以及將要從事 WCF該框架 開(kāi)發(fā)的人員提供熟悉的開(kāi)發(fā)體驗(yàn)。
該服務(wù)模型的特點(diǎn)在于它將 Web 服務(wù)的概念直接映射到 .NET Framework 公共語(yǔ)言運(yùn)行庫(kù) (CLR) 中的對(duì)應(yīng)內(nèi)容,包括將消息靈活且可擴(kuò)展地映射到用諸如 Visual C# 或 Visual Basic 等語(yǔ)言實(shí)現(xiàn)的服務(wù)。該服務(wù)模型提供支持松散耦合和版本管理的序列化功能,并提供與諸如消息隊(duì)列 (MSMQ)、COM+、ASP.NET Web 服務(wù)、Web 服務(wù)增強(qiáng) (WSE) 等現(xiàn)有 .NET Framework 分布式系統(tǒng)技術(shù)以及很多其他功能的集成和互操作性。(參考MSDN)
既然WCF框架介紹里提到了以上技術(shù)概念:
技術(shù)集成:Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息隊(duì)列
宿主程序:ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作為宿主(Host)。