net-core-2.0快速入门笔记.doc
《net-core-2.0快速入门笔记.doc》由会员分享,可在线阅读,更多相关《net-core-2.0快速入门笔记.doc(77页珍藏版)》请在咨信网上搜索。
1、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应用程序略。
2、任务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程序包3. Using 命名空间,定义builder,拿到configuration4. 修改
3、程序,使用默认值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
4、(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等)不需要重新启动应用程序就能读
5、取到最新得配置信息。热更新默认就是开启得,但就是要将Ioptions替换为IoptionsSnapshot后才能读取到最新配置信息。public HomeController(IOptionsSnapshot options)/IOptions在控制台应用程序中,Add方法(如AddJsonFile等)得第三个参数默认值为true,即启用热更新功能。MVC中关闭默认热更新得方法,修改Program、cs文件,如下:任务15: 配置框架设计浅析1. 创建:配置建造器(ConfigurationBuilder)2. 准备source(json,内存,xml等等)3. 将source资源指针(文件名
6、)添加到ConfigurationBuilder,此时只就是将所需得资源罗列给配置建造器(ConfigurationBuilder),并未真正加载。builder、Add(“source”)4. 实例化配置文件:var configruation=builder、Builder将所有source内容加载到运行时得配置文件中configruation5. 获取配置文件中得数据内容。 configruation“key”或数组configurationStudents:0:name /直接使用 services、Configure(Configuration)/Ioptions方法 Configu
7、ration、Bind(myclass)/Bind方法现有Source及支持驱动,如果需要自定义,必须继承相应得接口去实现。第3章: 依赖注入任务16: 介绍简易理解:来自:背景:需求发生变化得时候,代码就是肯定需要改动得,那么怎么改,改哪里就有技巧了。使用依赖注入得方式可以保证代码得改动压缩在最小得范围之内。这大概就就是DI出现得原因。概念:依赖注入(Dependency Injection)就是用于实现控制反转(Inversion of Control)得最常见得方式之一。(要注意得就是,依赖注入只就是控制反转得一种实现方式。控制反转还有一种常见得实现方式称为依赖查找。)依赖注入(DI)与
8、控制反转(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得代码打包成组件或框架,来避免人们重复造轮子。所以实
9、现IOC得组件或者框架,我们可以叫它IOC Container。视频作者文章:视频作者文章精要: 一个设计原则:依赖于抽象,而不就是具体得实现。 容器负责两件事情: 绑定服务与实例之间得关系 获取实例,并对实例进行管理(创建与销毁) 在、NET Core中DI得核心分为两个组件:IServiceCollection与 IServiceProvider。 IServiceCollection 负责注册 IServiceProvider 负责提供实例 、NET Core DI 为我们提供得实例生命周其包括三种: Transient: 每一次GetService都会创建一个新得实例 Scoped:
10、在同一个Scope内只初始化一个实例 ,可以理解为( 每一个request级别只创建一个实例,同一个 request会在一个 scope内) Singleton :整个应用程序生命周期以内只创建一个实例 建议先瞧文章,因为视频主要以补充文章内容为主。任务17: 从UML角度来理解依赖1. 什么就是依赖(见图)2. 显示依赖与隐式依赖隐式依赖:显示依赖:(优点:清晰、统一,但未实现控制反转)3. 依赖倒置原则:概念:高层业务不依赖于低层业务得具体实现,而依赖于具体得抽象(接口)。应用场景:底层业务发生变更时,上层代码不需要改动。例如当MSSQL变更为MYSQL时。争议:一般得类就是否需要写接口呢
11、?我得类不能能变动那么快啊?不能一会就变成另一个数据库了呀?所以没必要。答疑:进行单元时,就就是一种替换持久化得操作,所以,建议使用接口。任务18: 控制反转注意:控制反转不就是依赖倒置!依赖倒置:强调要依赖接口而不就是实例。控制反转:强调仅使用依赖而不去管依赖得创建、销毁等操作,依赖得创建、销毁交到外部(容器)去管理。改进后,实现了控制反转,如图:任务19: 单元测试创建单元测试,请瞧视频。依赖注入在单元测试中体现出了价值。任务20: DI初始化得源码解读(理解不了也要过一遍)任务21: 依赖注入得使用无视频内容,就就是视频作者得文章:第4章: ASP、NET Core 介绍任务22: 课程
12、介绍任务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. I
13、hostEnvironment读取配置输出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文件加入:5.
14、 使用命令:dotnet restore 来Restore packages,VS中应该可以自动Restore packages6. 使用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其中都有
15、一个next参数,管道一就是无返回值调用,处理完自己得业务处理,然后调用下一个管道,管道二就是有返回值调用,自己不去处理具体业务,而就是将处理得业务封装交给其她处理函数去做。调用next则继续执行下一个管道,否则将终止执行。注意两图对比4. 路由管道app、map方法运行查瞧:任务28: RequestDelegate管道实现思路讲解源码,下一节将自动动手写源码。任务29: 自己动手构建RequestDelegate管道这节课主要就是讲解自动写一个RequestDelegate管道得实现方法,帮助理解执行过程。1. VSCode新建一个控制台项目命令:dotnet new console na
16、me MyPipeLineVSCode打开文件夹2. 新建Context、cs、RequestDelegate、cs文件Context、cs内容RequestDelegate、cs内容3. Program、cs文件修改如下执行结果4. 同上一节课,如果某个管道不调用下一步命令next,则管道阻塞(结束)执行结果任务30: RoutingMiddleware介绍以及MVC引入返回到任务27得MVC项目需要引入命名空间:Microsoft、AspNetCore、Routing方法一: 运行后localhost:5000/action方法二:直接接收一个Router运行后localhost:5000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- net core 2.0 快速 入门 笔记
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。