前言

从今天我将会写.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(开篇)的更多相关文章

  1. .net core实践系列之短信服务-目录

    前言 经过两周多的业余时间,终于把该系列的文章写完了.第一次写系列,可能部分关键点并没有覆盖到,如果有疑问的朋友可以随时反馈给我.另外也感谢在我发布文章时给予我方案建议与反馈源码BUG的朋友们.下面是 ...

  2. .net core实践系列之短信服务-架构设计

    前言 上篇<.net core实践系列之短信服务-为什么选择.net core(开篇)>简单的介绍了(水了一篇).net core.这次针对短信服务的架构设计和技术栈的简析. 源码地址:h ...

  3. .net core实践系列之短信服务-Sikiro.SMS.Api服务的实现

    前言 上篇<.net core实践系列之短信服务-架构设计>介绍了我对短信服务的架构设计,同时针对场景解析了我的设计理念.本篇继续讲解Api服务的实现过程. 源码地址:https://gi ...

  4. .net core实践系列之短信服务-Api的SDK的实现与测试

    前言 上一篇<.net core实践系列之短信服务-Sikiro.SMS.Api服务的实现>讲解了API的设计与实现,本篇主要讲解编写接口的SDK编写还有API的测试. 或许有些人会认为, ...

  5. .net core实践系列之短信服务-Sikiro.SMS.Bus服务的实现

    前言 前两篇<.net core实践系列之短信服务-Sikiro.SMS.Api服务的实现>.<.net core实践系列之短信服务-Api的SDK的实现与测试>分别讲解了AP ...

  6. .net core实践系列之短信服务-架构优化

    前言 通过前面的几篇文章,讲解了一个短信服务的架构设计与实现.然而初始方案并非100%完美的,我们仍可以对该架构做一些优化与调整. 同时我也希望通过这篇文章与大家分享一下,我的架构设计理念. 源码地址 ...

  7. .net core实践系列之短信服务-Sikiro.SMS.Job服务的实现

    前言 本篇会继续讲解Sikiro.SMS.Job服务的实现,在我写第一篇的时候,我就发现我当时设计的架构里Sikiro.SMS.Job这个可以选择不需要,而使用MQ代替.但是为了说明调度任务使用实现也 ...

  8. php 阿里云短信服务及阿里大鱼实现短信验证码的发送

    一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...

  9. PHP开发实用-阿里短信服务(Short Message Service)

    步骤 1 使用阿里云短信服务正常发短信需要 短信签名 短信模板 1申请短信签名   根据用户属性来创建符合自身属性的签名信息.企业用户需要上传相关企业资质证明,个人用户需要上传证明个人身份的证明.   ...

随机推荐

  1. oracle 数据库 导出与导入 expdb和impdb使用方法 (服务器本机)

    expdb 与exp 导出数据有区异,exp 无法导出空值表,用于客户端,expdb 只用于服务器端.备份出来的数据可再远程传输到另外一台linux 实现异地备份! 一  关于expdp和impdp ...

  2. centos6.5下oracle11g开机自动启动方法一

    转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二  https://blog.csdn.net/wx504025 ...

  3. php中编码转换方法

    php里经常用到编码转换,在这记录一个常用的编码转换方法,字符串.数组.对象都可以使用,使用了递归来解决,比较普通 /* * php中编码转换 * @param $param 需要转换的数据 * @p ...

  4. QSetting的值不能保存。

    最近在使用QSetting的时候,setting的值死活保存不下来,后来添加了如何设置后,settting的可以获取到. QCoreApplication::setOrganizationName(& ...

  5. Appium 实战练习一

    # -*- coding:utf-8 -*- ''' Created on Sep 30, 2018 @author: SaShuangYiBing Comment: ''' import time ...

  6. Oracle 11g rac 添加新节点测试

    [转]https://blog.csdn.net/shiyu1157758655/article/details/60877076 前期准备: 操作系统设置OS版本必须相同,检查内核参数,系统内存.C ...

  7. Linux监控命令整理(top,free,vmstat,iostat,mpstat,sar,netstat)

    1.1 top 1.1.1 命令说明 Top 命令能够实时监控系统的运行状态,并且可以按照cpu.内存和执行时间进行排序 1.1.2 参数说明 命令行启动参数: 用法: top -hv | -bcis ...

  8. mysql order by 排序的问题

    参考博客http://blog.csdn.net/hollboy/article/details/13296601 mysql order by 的排序在今天时候遇到了问题 情景是:将排序的字段设置成 ...

  9. python Polygon模块安装

    pip install Polygon这样会安装不了 只能使用pip install Polygon2 或者 pip install Polygon3,也就是必须带版本号

  10. Mac中安装JDK1.8和JDK11双版本并任意切换

    首先区官网下载JDK8和JDK11安装包,安装后打开bash $ cd /Library/Java/JavaVirtualMachines $ ls -al 可以看到两个版本安装成功 然后编辑环境变量 ...