1. 什么是ASP.NET 1.0
    1. 开源 - GitHub
    2. 跨平台 - 支持Windows, Mac, Linux
    3. 从底层进行了优化 - 使用最小开销的模块化组件 - 给与了开发人员很大的灵活性
  1. 为什么要使用ASP.NET Core
    1. 轻量级模块化HTTP请求管道 - 过去的框架过于臃肿, ASP.NET 5 更加小巧(模块化), 如: 不再基于System.Web.dll进行开发, 而是分解为一系列的NuGet包, 您只需安装所需几个即可(pay-for-what-you-use);
    2. 框架大统一 - WebUI, Web APIs 甚至客户端网络框架都是统一的
    3. 基于云开发, 基于环境配置, 提供内建的依赖注入支持
      1. 基于云开发 - 所有包通过NuGet管理
      2. 基于环境配置 - 根据不同的平台使用不同的配置, 也可以配置使用IIS托管, 自托管, OWIN托管等
      3. 内建的依赖注入 - 内部整合了Autofac和Ninject
    4. 支持跨平台开发工具
      1. Visual Studio(非跨平台) : 提供了一个全新的灵活的项目系统
      2. 其他开发工具(跨平台支持) : 提供了完整的命令行接口, 使你可以选择喜欢的工具进行开发
    5. 支持跨平台运行
    6. 完全开源, 社区支持
    7. 支持side-by-side应用程序版本控制 - 只需要升级需要的部分即可
  2. 应用程序剖析
    1. ASP.NET Core 1.0 运行在 .NET Execution Environment(DNX) 之上
    2. Startup.cs

      public class Startup
      {
           public void ConfigureServices(IServiceCollection services) {}

        public void Configure(IApplicationBuilder app) {}

        public static void Main(string[] args) => WebApplication.Run<Startup>(args);

      }

      1. ConfigureServices : 定义使用的服务
      2. Configure : 定义在请求管道中使用的中间件
  1. 什么是服务

    服务是在整个应用程序中都要用到的公共组件, 通过依赖注入获得, ASP.NET Core 1.0中有三种类型的服务:

    1. Singleton : 整个应用程序任何时候都是使用这一个
    2. Scoped : 如果在指定作用域中没有, 则创建一个, 默认的容器域是每次请求都创建一个
    3. Transient : 每次使用服务都会创建一个
  1. 什么是中间件

  中间件用于组成你的应用程序请求管道, ASP.NET Core 1.0 在HttpContext之上采用异步逻辑, 它可以选择执行序列中的下一个中间件或者直接终止请求:

    1. 静态文件处理
    2. 路由
    3. 诊断
    4. 身份验证
  1. 什么是服务器Servers
    1. 用于监听Request请求
      1. IIS
      2. Self-hosting : 自己的进程中, 在Windows中, 可以使用WebListener服务
      3. Kestrel : 跨平台的WebServer
  1. 什么是WebRoot
    1. Http请求进行处理的根目录(比如处理静态文件)
  2. 如何配置应用程序 - Configuration
    1. 以前: 使用System.Configuration和Web.config
    2. 现在: 新的配置模块处理简单的键值对设置, 支持多种格式(XML, JSON, INI)
    1. 其他客户端框架的整合 - AngularJS, KnockoutJS, Bootstrap…

.Net Core 学习 (1) - ASP.NET Core 总览的更多相关文章

  1. Orchard Core Framework:ASP.NET Core 模块化,多租户框架

    Orchard Core Framework:ASP.NET Core 模块化,多租户框架 上一篇编写Orchard Core一分钟搭建ASP.NET Core CMS ,介绍ASP.NET Core ...

  2. ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新增用户 上一章节我们实现了一个注册表单,但也留了一些东西还没完成, ...

  3. ASP.NET Core Identity 配置 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Identity 配置 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 配置 上一章节我们简单介绍了下 Id ...

  4. ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core Identity 框架 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core Identity 框架 前面我们使用了 N 多个章节, ...

  5. ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 数据库上下文 上一章节中我们了解了 Entity Framewo ...

  6. ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 动作结果 前面的章节中,我们一直使用简单的 C# 类作为控制器. 虽 ...

  7. ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 属性路由 经过前面章节的学习,想必你已经对 ASP.NET Core ...

  8. ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程

    原文:ASP.NET Core 静态文件 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 静态文件 前几章节中,我们学习了 ASP.NET Core 的中间件 ...

  9. 使用EF Core+CodeFirst建立ASP.NET Core MVC项目

    本篇随笔介绍如何使用.NET Core+EF Core创建Web应用程序 首先借用官网的话简单介绍一下ASP.NET Core ASP.NET Core 是一个跨平台的高性能开源框架,用于生成基于云且 ...

随机推荐

  1. Python几个算法实现

    1.平衡点问题: 比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点:假如一个数组中的元素,其前面的部分等 ...

  2. linux命令getopts

    一.getopts 简介 由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高.使用内部命令 getopts 可以很方便地处理命令行参数.一般格式为: getopts options va ...

  3. 加一个 时间戳 TimeStamp 可以解决 重复提交问题 SqlServer

     public partial class Form1 : Form{private SqlConnection mCnn = null;private long TimeStampValue; pu ...

  4. 独树一帜的字符串匹配算法——RK算法

    参加了雅虎2015校招,笔试成绩还不错,谁知初面第一题就被问了个字符串匹配,要求不能使用KMP,但要和KMP一样优,当时瞬间就呵呵了.后经过面试官的一再提示,也还是没有成功在面试现场写得.现将该算法记 ...

  5. VB.Net中点击按钮(Button)会重复提交两次表单

    在VB.NET程序开发过程中遇到一个问题 提交一个表单时,button的html代码如下 <asp:Button ID="btnSubmit" OnClick="c ...

  6. if/else语句匹配问题

    1: if(*FixedMode == LNG_OUT_FIXED_AMOUNT){ 2: if(NumTemp > MIN_FIXED_AMOUNT && NumTemp &l ...

  7. SQL提高查询效益之in、not in、between、like等条件讲述

    在使用SQL语句查询数据库记录时,如果要查询相同的内容,有着不同的多种方法. 仍然,尽管使用多种方法可以得到相同的结果,但是,如果您使用不同的方法,在执行效益上是截然不同的.因此,我们得仔细考虑,如果 ...

  8. yii2 i18n学习

    举例说明常见的翻译:Yii::t('app','Login'):追踪源码:BaseYii.php 文件 ,Yii::t($category, $message, $params = [], $lang ...

  9. css中文字体unicode对照表

    为什么要使用Unicode编码代替中文字体 在CSS中使用中文字体通常直接设置字体名称,比如设置字体为宋体:font-family:’宋体’:但因此产生的一个问题是,如果默认编码并不是UTF-8,这会 ...

  10. Android设计模式系列--工厂方法模式

    工厂方法模式,往往是设计模式初学者入门的模式,的确,有人称之为最为典型最具启发效果的模式.android中用到了太多的工厂类,其中有用工厂方法模式的,当然也有很多工厂并不是使用工厂方法模式的,只是工具 ...