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;

  

    谢谢你的阅读,下节见!如果期待本系列,请点一下推荐!

  

《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core的更多相关文章

  1. asp.net MVC4 框架揭秘 读书笔记系列3

    IIS/ASP.net管道 本节全部用图形表示便于理解和记忆 1.3.1 IIS5.x与asp.net 1.3.2 IIS 6.0与asp.net 1.3.3 IIS7.0与asp.net 基于IIS ...

  2. asp.net MVC4 框架揭秘 读书笔记系列2

    1.2 MVC 变体 MVC 是一种Pattern 另外一种说法是ParaDigm 范例 模式和范例的区别在于前者可以应用到具体的应用上,而后者则仅仅提供一些指导方针 1.2.1 MVP Model ...

  3. asp.net MVC4 框架揭秘 读书笔记系列1

    1.1 传统MVC 名词解释 Autonomous View. AV. 自制视图 GUI图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式 ...

  4. 《ASP.NET Core In Action》读书笔记系列,这是一个手把手的从零开始的教学系列目录

    最近打算系统学习一下asp.net  core ,苦于没有好的中文书藉,只好找来一本英文的 <ASP.NET Core In Action>学习.我和多数人一样,学习英文会明显慢于中文.希 ...

  5. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  6. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  7. 《Mastering Opencv ...读书笔记系列》车牌识别(II)

    http://blog.csdn.net/jinshengtao/article/details/17954427   <Mastering Opencv ...读书笔记系列>车牌识别(I ...

  8. 《Mastering Opencv ...读书笔记系列》车牌识别(I)

    http://blog.csdn.net/jinshengtao/article/details/17883075/  <Mastering Opencv ...读书笔记系列>车牌识别(I ...

  9. 读书笔记系列01-《收获、不止Oracle》

    读书笔记系列01-<收获.不止Oracle> 最近计划将看过的Oracle书籍依次系统的总结下读书笔记. 这本书是我个人觉得写的最有趣的Oracle书籍,也是我接触Oracle后第一本完全 ...

随机推荐

  1. js小笔记

    1.let ,const,var 区别 let:块级作用域,if,for,用完就不存在了. const:用来定义常量. var: 声明的变量在它所声明的整个函数都是可见的. 2.==和===的区别 1 ...

  2. CSS(三)

    CSS盒子模型 盒子模型解释 元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式.盒子模型示意图如下: 把元素叫做盒子,设置对应的样式分别为 ...

  3. 根据浏览器判断是下载IOS还是其它的手机安装包

    http://tiao.67767.cn/DownLoad.aspx?cid=3509           <!DOCTYPE html>   <html>   <hea ...

  4. 201771010126 王燕《面向对象程序设计(java)》第八周学习总结

    实验六 接口的定义与使用 实验时间 2018-10-18 1.实验目的与要求 (1) 掌握接口定义方法 JAVA中通过interface关键字定义接口: 接口中只能定义public static fi ...

  5. CXF安装和配置时出现Exception in thread "main" java.lang.UnsupportedClassVersionError:异常?

    异常信息: C:\Users\>wsdl2java -h Exception in thread "main" java.lang.UnsupportedClassVersi ...

  6. PC_官网设计

    1. 头部 header 固定 的两种方式 固定定位 内容区 包裹,使用 overflow: hidden; 2. 动画第二次起效 缺少动画初始参数 3. 隐藏元素 display: none; vi ...

  7. poj 1375

    一道解析几何么,,, 其实就是求直线与圆的切线. 看到方法有很多,比如根据角度之类的. 这里主要用到了初中的几何知识. 考虑这幅图. 首先可以根据相似三角形知道b的长度,同时圆心与点的方向也知道. 那 ...

  8. App测试方法总结

    安全测试   一.安全测试 1.软件权限 1)扣费风险:包括短信.拨打电话.连接网络等. 2)隐私泄露风险:包括访问手机信息.访问联系人信息等. 3)对App的输入有效性校验.认证.授权.数据加密等方 ...

  9. elasticsearch视频34季

    02_结构化搜索_在案例中实战使用term filter来搜索数据 课程大纲 1.根据用户ID.是否隐藏.帖子ID.发帖日期来搜索帖子 (1)插入一些测试帖子数据 POST /forum/articl ...

  10. Myeclipse的使用技巧

    1.1.MyEclipse自定义注释   一.修改进入路径:  Window->Preference->Java->Code Style->Code Template-> ...