是否了解WCF服務性能
WCF經(jīng)過長時間的發(fā)展,很多用戶都很了解WCF服務了,這里我發(fā)表一下個人理解,和大家討論討論。Windows通訊基礎(簡稱為WCF)是一種SDK,用于讓你使用典型的CLR編程結(jié)構(gòu)(例如用于發(fā)布和消費服務的類和接口等)來構(gòu)建Windows面向服務的應用程序。WCF的編程模型是聲明性的并且大部分是屬性驅(qū)動的。WCF為通訊服務提供了一種運行時刻環(huán)境,使你能夠把CLR類型暴露為服務并且以CLR類型來消費服務。
#T#盡管在理論上你可以不用WCF來構(gòu)建服務;但是,在實踐中,WCF能夠顯著地簡化這一任務。WCF是微軟的一組工業(yè)標準的實現(xiàn),該標準定義了服務交互、類型轉(zhuǎn)化、編排和多種協(xié)議的管理。因此,WCF提供了服務間的互操作性并且提高了開發(fā)效率(包括幾乎任何應用程序所要求實現(xiàn)的基本的常規(guī)的繁重任務)。本文將描述WCF塊及其架構(gòu)的基本概念和構(gòu)建,從而使你能夠構(gòu)建簡單的服務。
什么是WCF服務?
一個服務是一個暴露給外界的功能單元。從編程模型的發(fā)展歷史來說,它經(jīng)歷了從函數(shù)到對象再到組件***到服務的過程;而WCF服務正代表了下一代的革命性的Windows編程模型。面向服務(SO)是一組原則的抽象集和針對于構(gòu)建SO應用程序的***實踐,但這其中的一大部分已經(jīng)超出了本文的范圍。
一個面向服務的應用程序(SOA)把服務聚合成單個邏輯的應用程序(見圖1),這類似于一個面向組件的應用程序聚合組件或一個面向?qū)ο蟮膽贸绦蚓酆蠈ο蟮姆绞健7湛梢允潜镜氐囊部梢允沁h程的,可以由多種團隊使用任何技術開發(fā)而成,它們可以被獨立地進行版本化管理,甚至可以在不同的時間進度上執(zhí)行。在一個服務內(nèi)部,你可以使用例如語言,技術,平臺,版本和框架等概念;然而,在服務之間,只允許使用規(guī)定的通訊模式。
圖1:一個面向服務的應用程序的框架。
客戶端通過發(fā)送和接收消息與服務進行交互。消息可以從客戶端直接或經(jīng)中介傳輸?shù)椒?。在WCF服務中,所有的消息都是SOAP消息。注意,這些消息獨立于傳輸協(xié)議——不象Web服務,WCF服務可以通過多種傳輸協(xié)議進行通訊,而不僅是HTTP。