.Net Core 学习 (1) - ASP.NET Core 概念学习

  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…
时间: 04-05

.Net Core 学习 (1) - ASP.NET Core 概念学习的相关文章

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

原文:ASP.NET Core 动作结果 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 动作结果 前面的章节中,我们一直使用简单的 C# 类作为控制器. 虽然这些类不是从基类派生的,但仍然可以在 MVC 中使用这种方法. 当然了,对于控制器,但更常见的做法是从 Microsoft.AspNetCore.Mvc 命名空间中提供的控制器基类中派生控制器.本章中,我们将尝试这么做,并且学习动作结果 ( Action Results ). 动作结果 ( Act

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

原文:ASP.NET Core 属性路由 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 属性路由 经过前面章节的学习,想必你已经对 ASP.NET Core MVC 中的路由有了大概的了解,本来我想多花几章节来讲解路由规则,但是,作为基础教程,我们还是讲解下一个知识点吧. 在本章中,我们将学习另一种路由方法,即基于属性的路由. 属性路由 通过基于属性的路由,我们可以在控制器类和这些类的内部方法上使用 C# 属性. 这些属性携带了告诉 ASP.NET C

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

原文:ASP.NET Core 数据库上下文 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 数据库上下文 上一章节中我们了解了 Entity Framework 并讲述了如何配置它.本章节我们就来学习如何使用它 EF 框架 ( Entity Framework ) 使我们能够使用称为实体 ( Entity) 的公共语言运行时 ( CLR ) 对象查询,插入,更新和删除数据 EF 框架将模型中定义的实体和关系映射到数据库.除此之外,它还具有以下能力: 将

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

原文:ASP.NET Core 配置 MVC - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 MVC 前面几章节中,我们都是基于 ASP.NET 空项目 模板创建的 HelloWorld 上做开发 通过这个最基本的 HelloWorld 项目,我们了解了很多知识,初窥了 ASP.NET Core,并对 ASP.NET Core 的运行机制有了一个基本的了解 MVC 模式是 Web 开发中最重要的一个模式之一,通过 MVC,我们可以将控制器.模型和视

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

上一篇编写Orchard Core一分钟搭建ASP.NET Core CMS ,介绍ASP.NET Core CMS ,Orchard的ASP.NET Core版,同时对应有一个ASP.NET Core框架. 支持模块化和多租户.整个Orchard Core就是通过一个个模块Module组成的 首先创建一个空的 ASP.NET Core Web应用程序为基础.下面学习模块的建立及使用. 模块化 首先在之前创建好的ASP.NET Core Web应用程序中,新建一个 类库(.NET Core)项目

深入研究 Mini ASP.NET Core(迷你 ASP.NET Core),看看 ASP.NET Core 内部到底是如何运行的

前言 几年前,Artech 老师写过一个 Mini MVC,用简单的代码告诉读者 ASP.NET MVC 内部到底是如何运行的.当时我研究完以后,受益匪浅,内心充满了对 Artech 老师的感激,然后用我自己理解的 MVC 知识,写了一篇 深入研究 蒋金楠(Artech)老师的 MiniMvc(迷你 MVC),看看 MVC 内部到底是如何运行的 ,写完更加加深了我对 ASP.NET MVC 的理解.今天 ASP.NET Core 已经更新到 3.0 Preview 4 了(今天是:2019-04

ASP.NET Core教程:ASP.NET Core 程序部署到Windows系统

一.创建项目 本篇文章介绍如何将一个ASP.NET Core Web程序部署到Windows系统上.这里以ASP.NET Core WebApi为例进行讲解.首先创建一个ASP.NET Core WebApi项目,使用默认的Values控制器,这里使用Visual Studio 2019创建一个ASP.NET Core 3.1d的WebApi项目. 创建新项目的时候选项ASP.NET Core Web应用程序,如下图所示: 配置新项目界面界面设置项目名称和位置,如下图所示: 选择.Net Cor

ASP.NET Core教程:ASP.NET Core程序部署到Linux

一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例进行讲解. 二.安装运行时环境 1.在线安装 我们只是在Linux系统上面部署应用程序,所以只需要安装ASP.NET Core Runtime即可.在安装.NET之前,我们需要先注册Microsoft密钥和源,在终端里面执行下面的命令: sudo rpm -Uvh https://packages.

.NET CORE学习系列(1) ——.NET Core是什么?与.NET Framework、Mono之间的关系 ?

一.概念: .NET Core 是一个开源的.跨平台的 .NET 实现.而 .NET Framework 是基于 Windows 的 .NET 实现,Mono 是 .NET Framework 的一个开源.跨平台的实现. .NET Core 分为两大块:1).NET Core Framework,2).NET Core Runtime. 二.关系: 在.NET Core推出之后,.NET Framework与Mono将基于.NET Core重新构建..NET Framework将成为.NET C