.NET開發WinForm(C/S)專案整合三種SOA服務訪問(直連、WCF、WebAPI)模式

.NET快速开发框架發表於2024-12-04

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方式做介紹。更多詳情等你解鎖!

.NET敏捷開發框架-RDIFramework.NET V6.1釋出

全新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服務端

透過WebAPI方式最大的好處就是:支援多平臺訪問‌,Web API基於HTTP協議,可以在不同作業系統和裝置上進行通訊,因此可以實現跨平臺的應用程式開發。客戶端可以是Web應用、移動應用或桌面應用,極大地方便了多平臺的開發和維護‌。同時資料以JSON方式提供,方便各異構系統間資料的互動。

WebAPI方式訪問,當Token過期,框架會自動續期。啟動好服務端後,啟動客戶端,就會自動以WebAPI的方式來執行,如下圖所示。

框架以WebAPI方式執行

2.2、WCF模式訪問

WCF是.NET最早構建高安全可靠性服務的技術,並且實現跨平臺繼承和平滑地互動。在.NET的WinForm領域應用廣泛,咱們的框架同樣支援WCF的方式來進行服務訪問,讓使用者多一種選擇。

要以WCF模式來做服務訪問,配置項ServiceAccessMode取值為:RDIFramework.ServiceWCF,同時啟動我們的WCF服務端。

WCF服務端

產品管理svc服務

以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雙引擎、全網唯一)

可前往下面的地址瞭解詳情。

http://www.guosisoft.com/product/winform

http://www.rdiframework.net/product/winform

相關文章