net core 2.0快速入门笔记

  • 格式:doc
  • 大小:7.28 MB
  • 文档页数:78

Asp、net core2、0默认教学计划基础入门篇笔记又名七日速成本笔记就是个人学习期间整理,因水平有限,不对之处敬请指教!教程分初级篇、高级篇。

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

视频地址在文末。

第1章: 介绍与引入任务1: 课程介绍任务2: 环境安装VS2017 + ASP、NET Core 2、0任务3: 在控制台创建ASP、NET Core应用程序控制台下创建ASP、NET Core应用程序得常用命令学习任务4: 在VS2017中创建ASP、NET Core应用程序略。

任务5: 部署到IISIIS环境配置。

任务6: 准备CentOS与Nginx环境虚拟机安装CentOS,安装网卡、Nginx,开启、s,开启80端口命令。

任务7: 在CentOS上安装、NET Core运行时微软文档:任务8: 部署到CentOSFTP上传至服务器;Nginx 80端口映射至、NET Core得端口,如5000端口,实现转发。

第2章: 配置管理任务9: 配置介绍任务10: 命令行配置1.VS2017创建控制台应用程序2.NuGet引用microsoft、aspnetcore、all程序包ing 命名空间,定义builder,拿到configuration4.修改程序,使用默认值5.运行示例:程序目录>dotnet mandLineSample、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;默认路由app、UseMvcWithDefaultRoute;任务14: 配置得热更新热更新:即修改相关配置文件(如appsettings、json等)不需要重新启动应用程序就能读取到最新得配置信息。

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

public HomeController(IOptionsSnapshot<Class> 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内容加载到运行时得配置文件中configruation5.获取配置文件中得数据内容。

✓configruation[“key”]或数组configuration["Students:0:name"] //直接使用✓services、Configure<Class>(Configuration)//Ioptions方法✓Configuration、Bind(myclass)//Bind方法现有Source及支持驱动,如果需要自定义,必须继承相应得接口去实现。

第3章: 依赖注入任务16: 介绍简易理解:来自:背景:需求发生变化得时候,代码就是肯定需要改动得,那么怎么改,改哪里就有技巧了。

使用依赖注入得方式可以保证代码得改动压缩在最小得范围之内。

这大概就就是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。

视频作者文章:视频作者文章精要:✧一个设计原则:依赖于抽象,而不就是具体得实现。

✧容器负责两件事情:✓绑定服务与实例之间得关系✓获取实例,并对实例进行管理(创建与销毁)✧在、NET Core中DI得核心分为两个组件:IServiceCollection与IServiceProvider。

✓IServiceCollection 负责注册✓IServiceProvider 负责提供实例✧、NET Core DI 为我们提供得实例生命周其包括三种:✓Transient: 每一次GetService都会创建一个新得实例✓Scoped: 在同一个Scope内只初始化一个实例 ,可以理解为( 每一个request级别只创建一个实例,同一个 request会在一个 scope内)✓Singleton :整个应用程序生命周期以内只创建一个实例建议先瞧文章,因为视频主要以补充文章内容为主。

任务17: 从UML角度来理解依赖1.什么就是依赖(见图)2.显示依赖与隐式依赖隐式依赖:显示依赖:(优点:清晰、统一,但未实现控制反转)3.依赖倒置原则:概念:高层业务不依赖于低层业务得具体实现,而依赖于具体得抽象(接口)。

应用场景:底层业务发生变更时,上层代码不需要改动。

例如当MSSQL变更为MYSQL时。

争议:一般得类就是否需要写接口呢?我得类不能能变动那么快啊?不能一会就变成另一个数据库了呀?所以没必要。

答疑:进行单元时,就就是一种替换持久化得操作,所以,建议使用接口。

任务18: 控制反转注意:控制反转不就是依赖倒置!依赖倒置:强调要依赖接口而不就是实例。

控制反转:强调仅使用依赖而不去管依赖得创建、销毁等操作,依赖得创建、销毁交到外部(容器)去管理。

改进后,实现了控制反转,如图:任务19: 单元测试创建单元测试,请瞧视频。

依赖注入在单元测试中体现出了价值。

任务20: DI初始化得源码解读(理解不了也要过一遍)任务21: 依赖注入得使用无视频内容,就就是视频作者得文章: 第4章: ASP、NET Core 介绍任务22: 课程介绍任务23: 请求得处理过程任务24: WebHost得配置1.VS新建一个空网站2.修改program文件3.新建settings、json文件4.添加应用程序参数5.修改startup文件,输出配置信息引入命名空间:using Microsoft、Extensions、Configuration;6.运行结果7.配置默认启动URL修改program文件但就是修改后再通过vs启动就不能自动打开浏览器了,需要自己手工输入。

解决:此处不要添加这行代码,而就是在项目属性中去修改URL任务25: IHostEnvironment与 IApplicationLifetime介绍1.IhostEnvironment读取配置输出2.IapplicationLifetime几个事件执行顺序作者关于WebHost得文章,可以深入学习一下:(1)(2)任务26: dotnet watch run 与attach到进程调试这一节用到VS Code软件讲解,主要就就是一个调试技巧。

1.安装VSCode、Git软件下载安装都很快,不像VS似得2.新建命令:dotnet new web –name HelloCore新建一个空得MVC网站3.运行命令:dotnet run浏览器中手工输入5000端口下运行。

4.调试(修改文件后自动重启运行网站程序)修改:、csproj文件加入:<DotNetCliToolReference Include="Microsoft、DotNet、Watcher、Tools"Version="2、0、0" />5.使用命令:dotnet restore 来Restore packages,VS中应该可以自动Restorepackages6.使用dotnet watch run运行程序7.这样就可以一边修改代码,一边查瞧运行结果了,修改完后自动重启。

8.其它9.版本这里有dotnet watch得版本,当前为2、0、2,变更后运行一下dotnet restore命令即可。

10.图标控制方式:注:这里如果现实没有配置,那就重新打开VSCode瞧一下。

选择当前工程目录下得exe。

任务27: Middleware管道介绍1.总览:2.运行过程3.构建管道app、use、app、run其中都有一个next参数,管道一就是无返回值调用,处理完自己得业务处理,然后调用下一个管道,管道二就是有返回值调用,自己不去处理具体业务,而就是将处理得业务封装交给其她处理函数去做。