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进行调用,如下是调用我们案例模块的订单管理服务。

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

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

c# 复制代码
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

相关推荐
魏杨杨32 分钟前
一个程序员眼中的 AI 核心概念,讲透 LLM 、Agent 、MCP 、Skill 、RAG...
ai·.net·agent·claude code
AI行业学习9 小时前
.NET Framework 3.5 官方离线包下载+完整安装教程【2026.5.19】
.net
切糕师学AI11 小时前
.NET 中 CallerMemberName 与 StackTrace 的深度对比
.net·调用栈·stacktrace·callermember
步步为营DotNet15 小时前
解锁.NET 11 新境:ASP.NET Core 10 在微服务安全通信的深化与实践
微服务·asp.net·.net
唐青枫15 小时前
C#.NET YARP + OpenTelemetry:网关链路追踪实战
c#·.net
rockey6271 天前
AScript异步执行与await关键字
c#·.net·script·eval·expression·异步执行·动态脚本
叫我少年1 天前
ASP.NET Core 最小 API 快速参考
.net·api
步步为营DotNet2 天前
深入.NET 11:C# 14 在边缘计算数据处理的优化与实践
c#·.net·边缘计算
步步为营DotNet2 天前
洞悉.NET 11:Blazor 与 Microsoft.Extensions.AI 的融合创新实践
人工智能·microsoft·.net
回忆2012初秋2 天前
.NET 8.0 实战:基于 MQTTnet 封装高可用的 MQTT 发布/订阅工具类
开发语言·mqtt·.net