.net core实践系列之短信服务-为什么选择.net core(开篇)
前言
从今天我将会写.net core实战系列,以我最近完成的短信服务作为例子。该系列将会尽量以最短的时间全部发布出来。源码也将优先开源出来给大家。
源码地址:https://github.com/SkyChenSky/Sikiro.SMS
.NET CORE简介
ASP.NET Core 是一个跨平台的高性能开源框架,它不是ASP.NET Framework延伸,而是重生,存在质的区别。不得不夸微软,使ASP.NET Core开源是一大进步就是,其源码可以在github上搜索到。其代码的透明度可以为大家更好的把控与理解,并且使大家开发.NET Core的项目有更好的完成度。
ASP.NET Core的出现为了摆脱.NET Framework十多年来的Windows系统下的束缚,其开源也是为了建立更好的技术生态环境。
如今,你可以跨所有平台,任意的在Windows、Mac和Linux等设备上开发并且运行你的 ASP.NET Core 应用。当然你也可以用你喜爱的托管程序( IIS、Nginx、Apache、Docker )进行部署
.NET CORE版本历史
版本 |
发布时间 |
---|---|
1.0 RC1 |
2016年2月15日 |
1.0 RC2 |
2016年5月16日 |
1.0 |
2016年6月27日 |
1.1 |
2016年11月16日 |
2.0 |
2017年8月14日 |
2.1 |
2018年5月30日 |
了解一个技术本质就是追溯他的发展历程。
- 2016年1月ASP.NET5 改名 ASP.NET Core 1.0
- 2016年6月ASP.NET Core 1.0正式发布,与其一起的还有.NET Core Runtime,.NET Core SDK,.NET Core Windows Server Hosting,Entity Framework Core 1.0。
- 当时我并没有优先吃螃蟹,因为经验告诉我,微软的1.0版本的项目更多的是了解与学习。因为还有很多大量的优秀的开源组件并没及时支持。
- 2016年8月,伴随着Visual Studio 2017 15.3发布,ASP.NET Core 2.0的出世冲击着我们整个.NET。
- 当时我也优先以管理后台作为了一个小项目试行,当项目开始不到一半,经验又告诉我,ASP.NET Core已经可以完完全全开发正式的项目了。
.NET CORE优势
跨平台
可以随时在Windows、Mac和Linux上开发并部署你的项目。
多工具选择
Visual Studio Code、Visual Studio、Jetbrains Rider
高性能
更高的效率,更小的内存占用。虽然我没亲自测试过,不过网上很多测试数据。
灵活部署
ASP.NET Core不再是基于System.Web.dll,不再需要依赖IIS与windows, IIS、Nginx、Apache、Docker供你选择
命令行工具
.NET程序所有的运行脚本都可以用命令行工具执行(cmd,bash),因而无需花费更多的时间成本重复学习。
指令 | 帮助 |
---|---|
dotnet new | 产生新的基本 .NET 项目内容 |
dotnet restore | 还原所参考的 NuGet 包 |
dotnet build | 建造 .NET 项目 |
dotnet publish | 产生可发行的 .NET 项目 |
dotnet run | 编译与立即运行 .NET 项目 |
dotnet repl | 引导交互式的对话 |
dotnet pack | 将项目的产出封装成 NuGet 包 |
模块化
按需使用组件包,使你的应用程序更新的高效、轻便、健壮。
结束
自2016年的.NET CORE诞生,我们见证了微软一步步的改变与进步,前段时间花了巨资收购了GitHub(不知道他在下一步什么棋)。虽然身边很多原本用.NET的公司转型了JAVA,然而这个世界的本质其实就是一个周期变动与轮回。
我们不求跟风,但愿精益求精
.net core实践系列之短信服务-为什么选择.net core(开篇)的更多相关文章
- .net core实践系列之短信服务-目录
前言 经过两周多的业余时间,终于把该系列的文章写完了.第一次写系列,可能部分关键点并没有覆盖到,如果有疑问的朋友可以随时反馈给我.另外也感谢在我发布文章时给予我方案建议与反馈源码BUG的朋友们.下面是 ...
- .net core实践系列之短信服务-架构设计
前言 上篇<.net core实践系列之短信服务-为什么选择.net core(开篇)>简单的介绍了(水了一篇).net core.这次针对短信服务的架构设计和技术栈的简析. 源码地址:h ...
- .net core实践系列之短信服务-Sikiro.SMS.Api服务的实现
前言 上篇<.net core实践系列之短信服务-架构设计>介绍了我对短信服务的架构设计,同时针对场景解析了我的设计理念.本篇继续讲解Api服务的实现过程. 源码地址:https://gi ...
- .net core实践系列之短信服务-Api的SDK的实现与测试
前言 上一篇<.net core实践系列之短信服务-Sikiro.SMS.Api服务的实现>讲解了API的设计与实现,本篇主要讲解编写接口的SDK编写还有API的测试. 或许有些人会认为, ...
- .net core实践系列之短信服务-Sikiro.SMS.Bus服务的实现
前言 前两篇<.net core实践系列之短信服务-Sikiro.SMS.Api服务的实现>.<.net core实践系列之短信服务-Api的SDK的实现与测试>分别讲解了AP ...
- .net core实践系列之短信服务-架构优化
前言 通过前面的几篇文章,讲解了一个短信服务的架构设计与实现.然而初始方案并非100%完美的,我们仍可以对该架构做一些优化与调整. 同时我也希望通过这篇文章与大家分享一下,我的架构设计理念. 源码地址 ...
- .net core实践系列之短信服务-Sikiro.SMS.Job服务的实现
前言 本篇会继续讲解Sikiro.SMS.Job服务的实现,在我写第一篇的时候,我就发现我当时设计的架构里Sikiro.SMS.Job这个可以选择不需要,而使用MQ代替.但是为了说明调度任务使用实现也 ...
- php 阿里云短信服务及阿里大鱼实现短信验证码的发送
一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...
- PHP开发实用-阿里短信服务(Short Message Service)
步骤 1 使用阿里云短信服务正常发短信需要 短信签名 短信模板 1申请短信签名 根据用户属性来创建符合自身属性的签名信息.企业用户需要上传相关企业资质证明,个人用户需要上传证明个人身份的证明. ...
随机推荐
- 怎么查找Jenkins的个人api token
程序中可变部分解释:其中server.build_job方法传入的参数channel为分渠道构建参数,也即jenkins job的参数,这个参数随不同的日常job不同是不同的,实际编写脚本的过程中这个 ...
- WCF服务端开发和客户端引用小结
1.服务端开发 1.1 WCF服务创建方式 创建一个WCF服务,总是会创建一个服务接口和一个服务接口实现.通常根据服务宿主的不同,有两种创建方式. (1)创建WCF应用程序 通过创建WCF服务应用程序 ...
- ASP.NET Boilerplate 学习
1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: 3.在AbpTest.Web.Host项目的ap ...
- FastReport脚本把数据绑定到文本控件上
public class ReportScript { private void Data25_BeforePrint(object sender, EventArgs e)//Data25是指需要绑 ...
- sql server 无法sa登录解决办法
大概流程:在SQL软件里面设置解决 大概流程: 打开 控制面板 -> 管理工具 -> 服务..... 详细参考地址: https://blog.csdn.net/github_351606 ...
- Linux Cluster
一.Linux集群类型.系统扩展方式及调度方法 1.概念 Linux cluster,Linux集群系统是一种计算机系统, 它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作. ...
- Python如何输出带颜色的文字方法
我们在使用python运维与开发的过程中,经常需要打印显示各种信息.海量的信息堆砌在控制台中,就会导致各种信息都显示在一起,降低了重要信息的可读性.这时候,如果能给重要的信息加上差异的字体颜色,那么就 ...
- Linux 小知识翻译 - 「模块」
说起module(模块),有的像「可热插拔的零部件」的意思. 在讨论Linux时提到的模块一般是指可以组装到内核中的模块. 模块这个概念是在硬件和程序设计领域中广泛使用的概念.我们这次说的模块特指Li ...
- java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.demoDao.getXXX;
java.lang.RuntimeException: org.apache.ibatis.binding.BindingException: Invalid bound statement (not ...
- Mac显示器不亮
上班的时候mac连接上显示器,但是显示器并没有亮,于是乎各种插拔ing...偶尔一两次还可以接受,但是天天这样小身板招架不住呀,于是乎终于找到一个可以让显示器快速亮起的方法,遂赶紧分享给各位小火鸡~ ...