對于WCF性能學習全解析
首先,我認為WCF性能很好,如果繼續(xù)得到改進和增強,我想該插件會被更多開發(fā)者使用。對于WCF的學習,對于我們掌握怎樣正確創(chuàng)建WCF性能是很有幫助的,而且也可從中學到不少編程技巧。
WCF(Windows Communication Foundation)作為微軟基于SOA所推出的.NET平臺下的新一代框架產(chǎn)品集成了現(xiàn)有技術的優(yōu)點,代表了未來軟件架構設計與開發(fā)的發(fā)展方向。因此,掌握并能在未來應用中合理運用WCF技術,對于程序員特別是基于微軟技術開發(fā)的程序員而言是十分必要的?;诖?,文章通過介紹一套即時通信軟件的具體開發(fā)過程來展現(xiàn)基于WCF技術的分布式軟件研發(fā)的基本步驟與高級技巧。
對于一個好的分布式系統(tǒng)來講,設計時應當考慮到異構性、開放性、安全性、可擴展性、故障處理、并發(fā)性以及透明性等問題?;赟OAP的Web Service可以實現(xiàn)異構環(huán)境的互操作性,保證了跨平臺的通信。利用WSE(Web Service Enhancements)可以為ASMX提供安全性的保證。.NET Remoting具有豐富的擴展功能,可以創(chuàng)建定制的信道、格式化器和代理程序。Enterprise Service(COM+)提供了對事務的支持,其中還包括分布式事務,可實現(xiàn)故障的恢復。#t#
MSMQ可以支持異步調用、脫機連接、斷點連接等功能,利用消息隊列支持應用程序之間的消息傳遞。從功能角度來看,WCF整合了ASMX、.Net Remoting、Enterprise Service、WSE以及MSMQ等現(xiàn)有技術的優(yōu)點,它提供了一種構建安全可靠的分布式面向服務系統(tǒng)的統(tǒng)一的框架模型,使軟件研發(fā)人員在開發(fā)分布式應用時變得更加輕松。
1. 面向服務
既然WCF性能是一套面向服務的框架,服務自然便是WCF中最為重要的概念。服務是指暴露在外的一系列功能的集合,面向服務則是指一套構建“面向服務程序”的抽象原則以及***方法。對于業(yè)務邏輯的理解,傳統(tǒng)的編程方式認為應將業(yè)務邏輯封裝為對象,該對象提供了與業(yè)務相關的一些功能;而基于WCF的程序設計卻更多的是考慮如何提供服務以及消費服務。與面向組件服務程序類似,基于SOA 的應用程序將服務封裝到了單個邏輯程序當中,如圖1所示。
2.WCF性能體系結構
WCF擁有一個非常靈活的分層體系結構,分布式應用程序可以使用高級API或者低級API編寫。高級API或者服務層可以用于調用方法和事件。服務層把這些高級的抽象代碼轉換為消息,以使用低級API上的信道和端口。圖2中顯示了WCF應用程序的各個層。