net core 2.0快速入门笔记

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

core2.0默认教学计划-基础入门篇笔记

------------又名七日速成

本笔记是个人学习期间整理,因水平有限,不对之处敬请指教!

教程分初级篇、高级篇。本文都是基于该视频教程整理,这是基础篇,购买高级篇的基础篇自动就可以看了,不需要单独购买基础篇,付费后会邀请加入微信讨论群,像张善友等大佬都在其中。视频地址在文末。

第1章: 介绍与引入

任务1:课程介绍

任务2:环境安装

VS2017 + Core 2.0

任务3:在控制台创建 Core应用程序

控制台下创建 Core应用程序的常用命令学习

任务4:在VS2017中创建 Core应用程序

略。

任务5:部署到IIS

IIS环境配置。

任务6:准备CentOS和Nginx环境

虚拟机安装CentOS,安装网卡、Nginx,开启http、https,开启80端口命令。

任务7:在CentOS上安装.NET Core运行时

微软文档:https:///net/learn/get-started/windows#create

任务8:部署到CentOS

FTP上传至服务器;Nginx 80端口映射至.NET Core的端口,如5000端口,实现转发。

第2章: 配置管理

任务9:配置介绍

任务10:命令行配置

1.VS2017创建控制台应用程序

2.NuGet引用microsoft.aspnetcore.all程序包

ing 命名空间,定义builder,拿到configuration

4.修改程序,使用默认值

5.运行示例:程序目录>dotnet CommandLineSample.dll name=jim age=22

任务11: Json文件配置(控制台示例)

1.建立class.json文件

2.路径问题需要修改一下class.json文件属性,确保编译时拷贝到编译目录中。

3..AddJsonFile("class.json");

4.注意数组的的读取方法

任务12: Bind读取配置到C#实例(MVC架构实现)

通过Bind方法将.json配置文件内容映射(赋值)到.class实体类

1.类

2.Json文件

3.program文件中WebHost.CreateDefaultBuilder(args)语句自动将settings.json文件加

入到配置池中。

4.Startup

构造函数

输出

任务13:在Core Mvc中使用Options

通过Options将.json配置文件内容映射(自动匹配)到.class实体类

1.建立MVC架构,如Controllers、Views等文件夹

2.创建控制器、视图页

控制器依赖注入

视图页调用

3.将配置文件数据匹配到实体

4.引入中间件services.AddMvc();默认路由eMvcWithDefaultRoute();

任务14:配置的热更新

热更新:即修改相关配置文件(如appsettings.json等)不需要重新启动应用程序就能读取到最新的配置信息。

热更新默认是开启的,但是要将Ioptions替换为IoptionsSnapshot后才能读取到最新配置信息。

public HomeController(IOptionsSnapshot options)//IOptions

在控制台应用程序中,Add方法(如AddJsonFile等)的第三个参数默认值为true,即启用热更新功能。

MVC中关闭默认热更新的方法,修改Program.cs文件,如下:

任务15:配置框架设计浅析

1.创建:配置建造器(ConfigurationBuilder)

2.准备source(json,内存,xml等等)

3.将source资源指针(文件名)添加到ConfigurationBuilder,此时只是将所需的资

源罗列给配置建造器(ConfigurationBuilder),并未真正加载。

builder.Add(“source”)

4.实例化配置文件:var configruation=builder.Builder()

将所有source内容加载到运行时的配置文件中configruation

5.获取配置文件中的数据内容。

✓configruation[“key”]或数组configuration["Students:0:name"] //直接使用✓services.Configure(Configuration)//Ioptions方法

✓Configuration.Bind(myclass)//Bind方法

现有Source及支持驱动,如果需要自定义,必须继承相应的接口去实现。

第3章: 依赖注入

任务16:介绍

简易理解:

来自: https:///question/32108444

https:///coderder/article/details/51897721

背景:需求发生变化的时候,代码是肯定需要改动的,那么怎么改,改哪里就

有技巧了。使用依赖注入的方式可以保证代码的改动压缩在最小的范围之内。这大概

就是DI出现的原因。

概念:依赖注入(Dependency Injection)是用于实现控制反转(Inversion of Control)的最常见的方式之一。(要注意的是,依赖注入只是控制反转的一种实现方式。控制反转还有一种常见的实现方式称为依赖查找。)

依赖注入(DI)和控制反转(IOC)基本是一个意思,因为说起来谁都离不开谁。

解析:简单来说,A依赖B,但A不控制(A的代码段不会出现)B的创建和销毁,仅使用B,那么B的控制权交给A之外处理,这叫控制反转(IOC)。

而A要依赖B,必然要使用B的instance(实例),那么

✓通过A的接口,把B传入;

✓通过A的构造,把B传入;

✓通过设置A的属性,把B传入;

这个传入过程叫依赖注入(DI)。

那么什么是IOC Container?(IOC容器)

随着DI的频繁使用,要实现IOC,会有很多重复代码,甚至随着技术的发展,有更多新的实现方法和方案,那么有人就把这些实现IOC的代码打包成组件或框架,

来避免人们重复造轮子。所以实现IOC的组件或者框架,我们可以叫它IOC Container。

视频作者文章:/2017/11/06/di-in-aspnetcore/

视频作者文章精要:

✧一个设计原则:依赖于抽象,而不是具体的实现。

相关文档
最新文档