如何将WinForm项目整合直连、WCF、WebAPI三种SOA服务访问模式?

摘要:在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于CS项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。目前主流的方式就三种:数据库直连、WCF
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服务模式访问运行效果。
阅读全文