ASP.NET Core 能用于什么样的应用
ASP.NET Core 可以用作传统的 web 服务, RESTful 服务, 远程过程调用 (RPC) 服务, 微服务, 这归功于它的跨平台支持和轻量级设计. 如下图所示:
什么时候选择 ASP.NET Core
这个问题需要从三个方面来讨论.
1, 刚学习. NET 的开发人员
如果您是. NET 开发新手并正在考虑使用 ASP.NET Core, 那么欢迎您! 微软正在推动 ASP.NET Core 作为 Web 开发初学者的一个有吸引力的选择, 与其他跨平台 Web 框架相比, 它具有如下的优势:
a, 它是一个现代的, 高性能的开源 Web 框架;
b, 它使用熟悉的设计模式和范式;
c,C#是一种很棒的语言(如果你愿意, 你可以使用 VB.NET 或 F#);
d, 您可以在任何平台上构建和运行(跨平台);
ASP.NET Core 是对 ASP.NET 框架的重构, 在新的. NET Core 平台之上, 使用了现代软件设计原理. 虽然它是一个全新的平台, 但. NET Core 是从已经使用了十多年, 获得了巨大的成功的, 成熟, 稳定, 可靠的. NET 框架重构而来, 选择 ASP.NET Core 和. NET Core, 您将获得可靠的平台以及功能齐全的 Web 框架. 当前流行的许多 Web 框架都使用类似设计模式, 这各 ASP.NET Core 没有什么不同. 例如, 众所周知的 Ruby on Rails, 它使用模型 - 视图 - 控制器 (MVC) 模式; Node.JS, 它使用管道处理请求; 存在于各种各样的框架中的依赖注入. 如果熟悉这些技术, 学习 ASP.NET Core 是件很容易的事; 如果不熟悉, 也没关系, ASP.NET Core 带你体验这些技术的最佳实践!
2, 你是一个. NET 开发人员, 准备创建一个新项目
如果您是. NET 开发人员, 那么选择 ASP.NET Core 只是时间问题. 虽然微软承诺继续支持老版的 ASP.NET 框架, 但很明显他们的重心在新的 ASP.NET Core 框架. 从长远来看, 如果你愿意使用新的特性和功能, ASP.NET Core 是你必然的选择.
ASP.NET Core 是否适合您, 很大程度上取决于您的需求和之前 ASP.NET 框架的体验. 跟 ASP.NET 框架相比, ASP.NET Core 具有如下优势:
a, 跨平台开发和部署;
b, 高性能;
c, 简化的托管模型;
d, 更短的迭代和开发周期;
e, 开源;
f, 模块化设计;
如果您在应用中没有使用任何特定于 Windows 的组件, 例如注册表. 那么跨平台构建和部署应用程序的能力将为你打开一个进入全新的应用程序大门: 它可以利用更便宜的 Linux 虚拟主机, 托管在云端, 使用 Docker 容器进行可复用的持续集成, 或者在 Mac 上编写. NET 代码而无需运行 Windows 虚拟机.
以前的 ASP.NET 框架的托管模型是一个相对复杂的模型, 依靠 Windows IIS 提供 Web 服务器进行托管. 在跨平台环境中, 不存在这种共生关系, 而是使用了另一种托管模型, 它将 Web 应用程序与底层分开. 这促成了微软对 Kestrel 的开发: 一个快速, 跨平台的可以运行 ASP.NET Core 应用的 HTTP 服务器. 下图是 ASP.NET 和 ASP.NET Core 的托管示意图:
为了实现这一点, ASP.NET Core 被设计为高度模块化, 尽可能减少模块间的耦合. 从一个简单的应用程序开始添加需要的库, 而不是像以前的从一开始就变得臃肿的 ASP.NET 应用程序 . 在 ASP.NET Core 应用中, 甚至 MVC 也是一个可选包! 这并不意味着 ASP.NET Core 缺少了功能; 它仅仅是让你按需添加类库, 构造灵活的, 轻量的应用. 它包含如下重要的组件:
a, 用于定义应用程序行为的中间件 "管道"("pipeline");
b, 内建的依赖注入(dependency injection);
c, 组合 UI(MVC)和 API(Web API)基础结构;
d, 高度可扩展的配置系统;
e, 异步编程;
3, 将现有 ASP.NET 应用程序转换为 ASP.NET Core
如果你的应用程序为 ASP.NET Web Form ,WCF,SignalR, 使用了很多 ASP.NET MVC 高级功能的应用, 那么, 不建议你将其转换为 ASP.NET Core 应用. 因为这些类型应用的很多特性, 在 ASP.NET Core 不被支持.(SignalR 将在新版本中支持), 如果你的应用是轻量的 ASP.NET MVC 应用或者你打算重新创建一个新应用时, 建议使用 ASP.NET Core;
谢谢你的阅读, 下节见! 如果期待本系列, 请点一下推荐!
来源: https://www.cnblogs.com/VolcanoCloud/p/10310321.html