.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申请短信签名 根据用户属性来创建符合自身属性的签名信息.企业用户需要上传相关企业资质证明,个人用户需要上传证明个人身份的证明. ...
随机推荐
- (后端)org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1,actual 0
两种方案: 用queryForList方法替换queryForObject或者queryForMap,因为这两个方法必须要有值,不能为空. 把这个异常捕获,用try/catch. 这个查询的结果是nu ...
- Java学习笔记:输入、输出数据
相关内容: 输出数据: print println printf 输入数据: Scanner 首发时间:2018-03-16 16:30 输出数据: JAVA中在屏幕中打印数据可以使用: System ...
- Spark程序数据结构优化
场景: 1.scala中的对象:对象头是16个字节(包含指向对象的指针等源数据信息),如果对象中只有一个int的属性,则会占用20个字节,也就是说对象的源数据占用了大部分的空间,所以在封装数据的时候尽 ...
- [20170622]传输表空间与dblink.txt
[20170622]传输表空间与dblink.txt --//测试看看使用dblink+传输表空间的情况.写的情况相对复杂一点,具体看测试: 1.环境:--//2个数据库版本一致.实际上在1台主机上. ...
- Java ——基础语法
package myhello; // 本类所在的包的路径 import af.util.AfMath; // 导入对应的类 import java.util.Random; // 导入随机数的类 p ...
- npm install node-sass 本地安装失败
$ npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taob ...
- Centos 下添加开机自启动服务和脚本
最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两 ...
- AD域自定义属性《完整》
1.安装Active Directory 架构,下载:adminpak.msi安装. 2.以管理员运行cmd,执行:regsvr32 schmmgmt.dll(该命令将在计算机上注册“schmmgmt ...
- LNMP下动静分离部署phpmyadmin软件包
LNMP环境肯定是先要配置好的.可以参考我之前的博客.那我们直接进行配置,我这里使用了三台机器进行动静分离部署,第一台负责nginx反向代理,第二台负责php-fpm应用程序以及mariadb的服务器 ...
- Linq2DB之研究和探索
1,对linq2db使用看法 最近在研究linq2db,用起来还不错,性能还不错的.之前也在博客园有些网友说用ado.net和depper写SQL语句,性能还要高.有时候牺牲点性能,为了提高开发效率, ...