ASP.NETCORE MVC模块化编程 前言
记得上一篇博客中跟大家分享的是基于ASP.NETMVC5,实际也就是基于NETFRAMEWORK平台实现的这么一个轻量级插件式框架。那么今天我主要分享的是自己工作中参考三方主流开源WEB框架OrchardCore、NopCore等,实现的另外一个轻量级模块化WEB框架,当然这个框架就是基于当下微软力推和开源社区比较火爆的基础平台ASPNETCORE。
进入正题之前,我觉得先有必要简单介绍一下ASPNETCORE这个平台大家比较关心的几个指标。
其一性能,话不多说直接看个人觉得比较权威的性能测试网站https://www.techempower.com/benchmarks/#section=data-r17&hw=ph&test=fortune,微软官方给出的数据性能是ASPNET的23倍。
其二生态,从NETCORE2.0开始,国内越来越多的大型互联网公司开始支持,比如百度云SDK、腾讯云SDK、腾讯的Tars 微服务平台、携程、阿里云等等。我们可以看看相关的issue,以百度云为例 https://github.com/Baidu-AIP/dotnet-sdk/issues/3。
其三迁移,自NETCORE2.0开始,有越来越多的三方nuget包支持。
其四开源,使用的是MIT和Apache 2开源协议,文档协议遵循CC-BY。这就意味着任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示,后者协议将会除了为用户提供版权许可之外,还有专利许可,并且授权是免费,无排他性的(任何个人和企业都能获得授权)并且永久不可撤销,相较于oracle对java和mysql的开源协议微软做出了最大的诚意。
其五跨平台,这也是真正意义上的跨平台,彻底摒弃了.NET Framework这种提取目标框架API交集方式的PCL。.NETCORE微软全新设计了针对各平台CoreCLR运行时和统一的PCL.NET Standard。
最后算是个人的一点点小建议,更新速度可以适当的慢一点,分一部分时间多关注一下这个生态圈。打个比方,在这个文明年代,你一个人会降龙十八掌,你会牛逼到没朋友,没有人敢跟你玩。
该框架采用的是ASPNETCORE2.2的版本,实现了日志管理、权限管理、模块管理、多语言、多主题、自动化任务管理等等功能。下面贴一张简单的动态图看看效果。