.NET開發WinForm(C/S)項目整合三種SOA服務訪問(直連、WCF、WebAPI)模式
1、介紹
在軟件開發領域,尤其是企業級應用開發中,靈活性、開放性、可擴展性往往是項目成功的關鍵因素。對于C/S項目,如何高效地與后端數據庫進行交互,以及如何提供多樣化的服務訪問方式,是開發者需要深入考慮的問題。目前主流的方式就三種:數據庫直連、WCF模式、WebAPI模式,三這種方式都有其各自的特點,可根據實際項目需求選擇其中一種或多種。
RDIFramwork.NET C/S敏捷開發框架全新版本不僅保留了一直以來的直連與WCF模式式(WCF又可以三種方式寄存:Windows服務方式寄存,WinForm形式寄存、IIS形式寄存),還提供了一種全新的WebAPI訪問的方式。三種方式不僅可以一鍵切換,還可以混合使用,同時支持.NET Framework與.NET 6+,為構建高效又靈活的軟件提供了強有力的支撐。
要更詳細的了解直連與WCF方式可以參考這篇文章:RDIFramework.NET框架SOA解決方案(集Windows服務、WinForm形式與IIS形式發布)-分布式應用,本文主要針對全新的WebAPI方式做介紹。更多詳情等你解鎖!

全新RDIFramework.NET C/S敏捷開發框架發布,支持.NET6+,Framework雙引擎,降低開發成本,提高產品質量,提升用戶體驗與開發團隊穩定性,做軟件就選RDIFramework.NET敏捷開發框架。
2、使用方法
使用方式非常簡單,只需在配置文件中改變ServiceAccessMode的值,同時根據設置的服務訪問方式配置好服務對應的地址(WebHostUrl)。
<!-- 服務訪問方式,取值:RDIFramework.ServiceDirect、RDIFramework.ServiceWCF、RDIFramework.ServiceAPI -->
<add key="ServiceAccessMode" value="RDIFramework.ServiceAPI"/>
<!--WebHostUrl取值依賴說Service,Service取值為:RDIFramework.ServiceWCF時對應的是WCF的地址;Service取值為:RDIFramework.ServiceAPI時對應的是WebAPI的地址-->
<!--本地測試:WCF地址默認:http://localhost:8091/;WebAPI的地址默認:http://localhost:58688/-->
<add key="WebHostUrl" value="http://localhost:58688/" />
配置項ServiceAccessMode支持三種訪問模式,分別是:
- RDIFramework.ServiceDirect:直連模式
- RDIFramework.ServiceWCF:WCF訪問模式(又可以三種方式寄存:Windows服務方式寄存,WinForm形式寄存、IIS形式寄存)
- RDIFramework.ServiceAPI:WebAPI訪問模式
當ServiceAccessMode取值為:RDIFramework.ServiceWCF或RDIFramework.ServiceAPI時,需要配置WebHostUrl,以指定WCF或WebAPI的地址。
2.1、WebAPI模式訪問
要以WebAPI模式來做服務訪問,配置項ServiceAccessMode取值為:RDIFramework.ServiceAPI,同時啟動我們的WebAPI服務端。

通過WebAPI方式最大的好處就是:支持多平臺訪問?,Web API基于HTTP協議,可以在不同操作系統和設備上進行通信,因此可以實現跨平臺的應用程序開發。客戶端可以是Web應用、移動應用或桌面應用,極大地方便了多平臺的開發和維護?。同時數據以JSON方式提供,方便各異構系統間數據的交互。
WebAPI方式訪問,當Token過期,框架會自動續期。啟動好服務端后,啟動客戶端,就會自動以WebAPI的方式來運行,如下圖所示。

2.2、WCF模式訪問
WCF是.NET最早構建高安全可靠性服務的技術,并且實現跨平臺繼承和平滑地交互。在.NET的WinForm領域應用廣泛,咱們的框架同樣支持WCF的方式來進行服務訪問,讓用戶多一種選擇。
要以WCF模式來做服務訪問,配置項ServiceAccessMode取值為:RDIFramework.ServiceWCF,同時啟動我們的WCF服務端。


以WCF服務模式訪問運行效果。

2.3、直連模式訪問
直連就是直接連接數據庫進行訪問,配置項ServiceAccessMode取值為:RDIFramework.ServiceDirect,訪問效果與前兩種方式一直。作為標準三層架構的連接方式,適用中小企業內部數據管理應用系統開發的開發。最主要的優勢就是高效開發,架構簡單,易上手開發、維護和部署。
3、技術要點

不管是用直連、WCF、還是WebAPI模式,在服務的調用上保持一致,做到了開發的最簡化處理。三種方式全使用CallService進行調用,如下是調用我們案例模塊的訂單管理服務。
var output = CallService.GetExampleModuleService<ICaseOrderService>().GetOrderListByPage(this.UserInfo, ucPagerOrder.ToPageInput(keyword));
如下是調用我們框架模塊的服務。
var itemList = CallService.GetFrameworkService<IItemsService>().GetList(UserInfo);
無論是直連、WCF還是WebAPI模式,CallService中都自動做了適配,讓調用更加的簡單,且三種方式還可以組合使用,強大、靈活、自由。同時整個平臺全源碼提供,讓你無后顧之憂!
4、參考文章
RDIFramework.NET框架SOA解決方案(集Windows服務、WinForm形式與IIS形式發布)-分布式應用
RDIFramework.NET CS敏捷開發框架 V6.1發布(.NET6+、Framework雙引擎、全網唯一)
可前往下面的地址了解詳情。
作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機號)
框架官網:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發框架
,
給用戶和開發者最佳的.Net框架平臺方案,為企業快速構建跨平臺、企業級的應用提供強大支持。
關于作者:系統架構師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,在面向對象、面向服務以及數據庫領域有一定的造詣。現主要從事基于
RDIF
框架的技術開發、咨詢工作,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝。

在軟件開發領域,尤其是企業級應用開發中,靈活性、開放性、可擴展性往往是項目成功的關鍵因素。對于C/S項目,如何高效地與后端數據庫進行交互,以及如何提供多樣化的服務訪問方式,是開發者需要深入考慮的問題。目前主流的方式就三種:數據庫直連、WCF模式、WebAPI模式。RDIFramwork.NET C/S敏捷開發框架不僅保留了一直以來的直連與WCF模式式,還提供了全新的WebAPI訪問的方式。三種方式不僅可以一鍵切換,還可以混合使用,同時支持.NET Framework與.NET 6+,為構建高效又靈活的軟件提供了強有力的支撐。
浙公網安備 33010602011771號