为什么我要推荐你使用Core WebApi?

简介: 为什么我要推荐你使用Core WebApi?

2020年了,放眼望去,单体架构已经渐行渐远,分布式架构大行其道,微服务更是如火如荼。作为分布式实施的基础,跨进程通信的技术也是五花八门,为什么Core WebApi越来越火,被众多大牛们一直推荐?小编这就为你一一解答!

3种跨进程交互方式

01

基于第三方存储共享的通讯

基于第三方存储共享的通讯,数据库/Redis/队列等,特点是被动通讯,满足及时性要求低的场景。

02

基于Http协议的服务

如WebService、WCF、WebApi,甚至还有ashx一般处理程序,使用最广泛。

03 远程调用模式

远程调用模式,包括FX下的RPC和.NetCore下的gRPC,有使用限制和优异的性能。大部分的开发者和项目选型中,第二类是最为广泛的。下文对gRPC和WebApi有细致比对。

.Net下的服务选型

细想后我们不难发现,从最初的WebService一统江山,到.NetFramework3.0推出的集大成者WCF,却在4.0的时候被更轻巧的WebApi所打败。更好的REST风格支持(WCF也可以但很麻烦),对移动端的友好支持等,甚至跟MVC同一个开发技术栈,这些理由很充分的让技术团队都倾向于使用WebApi。

image.png

Core WebApi的变化

WebApi刚出来时,大家都非常兴奋,终于有原生的RESTful API了,但实践中却发现太多槽点,跟MVC框架同项目不同管道,鉴权授权参数绑定也很不友好,让学习者苦不堪言。然而,这个在Core WebApi得到了转变,和Asp.NetCore管道的统一,让大家开发和学习成本都降低了,再加上跨平台的优势,和全新中间件模式加成,毫不客气地说,CoreWebApi已经成为当下服务的首选。

image.png

Core WebApi VS gRPC

这两个是目前.Net Core下最热门的分布式通信方式了, gRPC是client/server模式通信的,支持流式通信,性能更高一些,相对的使用场景和实施成本也会高一些,REST的通用性更强,像典型的前后端分离架构,当下各公众平台对外数据提供,都是选择的REST接口,包括在微服务架构实施上,Core WebApi使用还是更广泛一些。

image.png

4天学好Core WebApi

DAY1

上手实践,宇宙第一IDE轻松建项目就能运行,然后把swagger啊,log4net啥配置起来,先感受下,当然,进阶点的可以用Nginx来组集群负载均衡搭建,好好体会下REST的无状态。

DAY2

内置IOC容器和middleware翻翻源码理解一下,知道请求是怎么处理怎么流转的,后面功能开发时才心里有底(面试也轻松)。

DAY3

各种Filter扩展定制,像异常处理、鉴权授权、跨域、缓存压缩等常见功能,都是基于Filter的AOP实现的,必须得扎实下。

DAY4

最后是框架组件整合了,搭建一套快速开发框架,整合下EFCore,autofac等,把JWT,数据格式定好,基本就万事大吉了。



相关文章
|
2月前
|
开发框架 .NET 程序员
驾驭Autofac,ASP.NET WebApi实现依赖注入详细步骤总结
Autofac 是一个轻量级的依赖注入框架,专门为 .NET 应用程序量身定做,它就像是你代码中的 "魔法师",用它来管理对象的生命周期,让你的代码更加模块化、易于测试和维护
驾驭Autofac,ASP.NET WebApi实现依赖注入详细步骤总结
|
开发框架 前端开发 .NET
【WebApi】————.net WebApi开发(一)
【WebApi】————.net WebApi开发(一)
418 0
【WebApi】————.net WebApi开发(一)
|
编解码 JavaScript 前端开发
WebApi入门第一章(WebApi介绍)
WebApi入门第一章(WebApi介绍)
326 0
WebApi入门第一章(WebApi介绍)
WebApi下做项目配置
WebApi下做项目配置
107 0
|
API Android开发 iOS开发
【WebApi】————.net WebApi开发(二)
【WebApi】————.net WebApi开发(二)
144 0
|
XML JSON 数据格式
【WebApi】————.net WebApi开发(三)
【WebApi】————.net WebApi开发(三)
109 0
|
开发框架 .NET
关于Asp.net core配置信息读取的源码分析梳理
我们都知道asp.net core配置信息的读取离不开IConfigurationSource和IConfigurationProvider这两个类,ConfigurationSource可以提供一个ConfigurationProvider,然后去读取信息。究竟他们之间有着怎样的千丝万缕,我们一起来看看源码。
134 0
关于Asp.net core配置信息读取的源码分析梳理
|
JSON .NET C#
.NET Core实战项目之CMS 第三章 入门篇-源码解析配置文件及依赖注入
作者:依乐祝原文链接:https://www.cnblogs.com/yilezhu/p/9998021.html 写在前面 上篇文章我给大家讲解了ASP.NET Core的概念及为什么使用它,接着带着你一步一步的配置了.NET Core的开发环境并创建了一个ASP.NET Core的mvc项目,同时又通过一个实战教你如何在页面显示一个Content的列表。
2237 0