一種實現(xiàn)wcf服務的方法【專利摘要】本發(fā)明公開了一種實現(xiàn)WCF服務的方法,屬于數(shù)據(jù)通信【
技術(shù)領域:
】。該方法利用.NET的動態(tài)類型創(chuàng)建機制,動態(tài)生成代理類型,通過代理類型實現(xiàn)WCF支持的各種服務。與現(xiàn)有技術(shù)相比,本發(fā)明的實現(xiàn)WCF服務的方法對業(yè)務組件代碼“零侵入”,可以大大提高業(yè)務組件的復用能力,具有很好的推廣應用價值。【專利說明】—種實現(xiàn)WCF服務的方法【
技術(shù)領域:
】[0001]本發(fā)明涉及一種數(shù)據(jù)通信【
技術(shù)領域:
】,具體地說是一種實現(xiàn)WCF服務的方法?!?br>背景技術(shù):
】[0002]WindowsCommunicationFoundation(WCF)是由微軟發(fā)展的一組數(shù)據(jù)通信的應用程序開發(fā)接口,可以翻譯為Windows通訊接口。[0003]WCF是.NET框架的一部分,由.NETFramework3.0開始引入。在.NETFramework2.0以及前版本中,微軟發(fā)展了WebService(SOAPwithHTTPcommunication),.NETRemoting(TCP/HTTP/Pipelinecommunication)以及基石出的Winsock等通信支持。由于各個通信方法的設計方法不同,而且彼此之間也有相互的重疊性(例如.NETRemoting可以開發(fā)SOAP,HTTP通信),對于開發(fā)人員來說,不同的選擇會有不同的程序設計模型,而且必須要重新學習。同時,面向服務架構(gòu)(Service-OrientedArchitecture)也開始盛行于軟件工業(yè)中,因此微軟重新查看了這些通信方法,并設計了一個統(tǒng)一的程序開發(fā)模型,對于數(shù)據(jù)通信提供了最基本最有彈性的支持,這就是WindowsCommunicationFoundation。[0004]WCF實際上是構(gòu)建了一個框架,這個框架實現(xiàn)了在互聯(lián)系統(tǒng)中各個Application之間如何通信。使得開發(fā)人員和架構(gòu)師在構(gòu)建分布式系統(tǒng)中,無需在考慮如何去實現(xiàn)通信相關(guān)的問題,更加關(guān)注于系統(tǒng)的業(yè)務邏輯本身。而在WCFInfrastructure中,各個Application之間的通信是由Endpoint來實現(xiàn)的。Endpoint包含以下4個對象:Address:Address通過一個URI唯一地標識一個Endpoint,并告訴潛在的WCFservice的調(diào)用者如何找到這個Endpoint。所以Address解決了WheretolocatetheWCFService?Binding:一個Binding包含著豐富的信息,每種信息都描述了服務端和客戶端交互過程中的一方面,【權(quán)利要求】1.一種實現(xiàn)WCF服務的方法,其特征在于:利用.NET的動態(tài)類型創(chuàng)建機制,動態(tài)生成代理類型,通過代理類型實現(xiàn)WCF支持的各種服務。2.根據(jù)權(quán)利要求1所述的實現(xiàn)WCF服務的方法,其特征在于,動態(tài)生成代理類型的創(chuàng)建基于規(guī)則匹配,特定業(yè)務組件增加代理類型的特定屬性標記,以實現(xiàn)WCF服務的特殊控制。3.根據(jù)權(quán)利要求2所述的實現(xiàn)WCF服務的方法,其特征在于,包括以下步驟:(一)實現(xiàn)一個SOA服務框架:PortableService,包含業(yè)務邏輯代碼的簡單.NET對象通過PortableService發(fā)布為服務;(二)當服務被初次調(diào)用時,PortableService根據(jù)配置自動查找服務對應的簡單.NET對象,并根據(jù)約定查找簡單.NET對象實現(xiàn)的接口,把查找到的接口作為模板,動態(tài)創(chuàng)建一個WCF契約接口;(三)PortableService把上步驟(二)的簡單.NET對象作為父類,自動創(chuàng)建一個實現(xiàn)了契約接口的服務反向代理類,所述服務反向代理類對服務契約的實現(xiàn)完全調(diào)用父類的業(yè)務邏輯代碼;(四)PortableService創(chuàng)建WCF的ServiceHost,并使用動態(tài)創(chuàng)建的WCF契約接口和服務反向代理類來裝配WCF的EndPoint,建立了EndPoint后,即可對外提供服務。4.根據(jù)權(quán)利要求1所述的實現(xiàn)WCF服務的方法,其特征在于,通過簡單接口調(diào)用WCF服務:根據(jù)簡單接口創(chuàng)建WCF契約接口,通過契約接口類型創(chuàng)建調(diào)用管道,然后再使用接口代理合并技術(shù),把契約接口和簡單接口合并到一個代理對象中?!疚臋n編號】G06F9/44GK103793227SQ201410031363【公開日】2014年5月14日申請日期:2014年1月23日優(yōu)先權(quán)日:2014年1月23日【發(fā)明者】趙啟杰申請人:浪潮集團山東通用軟件有限公司