RDIFramework.NET CS敏捷开发框架 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)。

xml 复制代码
<!-- 服务访问方式,取值: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进行调用,如下是调用我们案例模块的订单管理服务。

ini 复制代码
var output = CallService.GetExampleModuleService<ICaseOrderService>().GetOrderListByPage(this.UserInfo, ucPagerOrder.ToPageInput(keyword));

如下是调用我们框架模块的服务。

ini 复制代码
var itemList = CallService.GetFrameworkService<IItemsService>().GetList(UserInfo);

无论是直连、WCF还是WebAPI模式,CallService中都自动做了适配,让调用更加的简单,且三种方式还可以组合使用,强大、灵活、自由。同时整个平台全源码提供,让你无后顾之忧!

4、参考文章

RDIFramework.NET框架SOA解决方案(集Windows服务、WinForm形式与IIS形式发布)-分布式应用

RDIFramework.NET CS敏捷开发框架 V6.1发布(.NET6+、Framework双引擎、全网唯一)

可前往下面的地址了解详情,下载体验。

www.guosisoft.com/product/win...

www.rdiframework.net/product/win...

相关推荐
技术猫2 分钟前
记一次因线程池不合理使用导致生产拨测告警
后端
写后端的胖头鱼9 分钟前
【高频面试题】spring事物失效场景(带原理 + 代码示例)
java·后端·spring·事务·事物失效
JohnCarter202115 分钟前
双卡 Atlas 300I Duo 部署 Qwen3-VL-32B:血泪实录
后端
码外生活41 分钟前
🎥 手搓一套直播高并发环境!一个后端小白从 0 到 1 的搭建笔记
后端·spring cloud
Lyra_Infra1 小时前
记一次麒麟 Linux 下达梦数据库 (DM8) 部署与 MySQL 命令行无界面迁移踩坑指南
数据库·后端·dba
Daemonkey1 小时前
苦 Elasticsearch/Prometheus 久矣?试试 Rust 打造的云原生可观测新星:OpenObserve
后端
ThinkerQAQ_1 小时前
并发编程(零):并发问题与讨论范围
后端
减瓦1 小时前
被吹上天的 JWT,为什么主流网站一个都不用
后端
吃饱了得干活1 小时前
Redisson 进阶实战:看门狗机制与分布式锁完全指南
java·redis·后端