【前言】

.Net Core开源&跨平台,已经肉眼可见将成为.Net平台的未来,在企业招聘需求上已经频频见到,接触到很多公司内部都已经开始尝试Core的项目了,尤其是腾讯的财付通全部是基于Core+微服务搭建的,让人倍感振奋!Eleven最近出个专题,以当下最新的Asp.Net Core 2.2 Preview3为版本,给大家来一套系统教程,希望小伙伴儿们能多多关注!

【环境搭建】

我这边使用的VisualStudio版本为2017企业版15.7.4(并不是最新版本,专业版社区版也都是可以的)。之前安装是自带的Core是1.1版本,现在需要安装最新的sdk(dotnet-sdk-2.2.100-preview3-009430-win-x64.exe),以及最新的runtime(dotnet-runtime-2.2.0-preview3-27014-02-win-x64)。相关环境配置,需要的话可以关注底部公众号后,联系助教老师获取!

【项目建立】

下面开始动手建立Asp.Net Core2.2项目了,添加项目,选择Web,然后选择 ASP.NET Core Web应用程序模板,另外那个是原来的Framework版本的。

这里选择.NET Core,然后选择最新的ASP.NET Core2.2,选择下面的MVC应用程序,点击确定即可完成创建!建立完后的项目如下,一个典型的MVC项目,但是跟Framework下的有明显差异,增加了Program和Startup,这二位将是本文的主角了!

【Program】

看到Program,应该有种很亲切的感觉,包括里面的Main方法,这就是整个程序的入口。实际上,我们建立的这个项目,本质就是个控制台程序而已,查看项目属性可以得知。但为啥这个Program能当成MVC网站呢?

秘密就是那个CreateDefaultBuilder方法,这里面是启动一个Kestrel的服务器来完成请求的监听和响应的,在以前Core版本里,这里还有很多的配置项,现在已经内置为一个Default了。然后这里简单理解下,就是初始化一个服务器,然后Run一下,我们的Web服务器就算是启动了。其中在初始化服务器的时候,使用了一个Startup类,下面来详析一番!

【Startup】

在 ASP.NET Core 中,Startup 类提供了应用程序的入口,而且在所有应用程序中都有 Startup 类。ASP.NET 会在主程序集中搜索名为 Startup 的类(在任何命名空间下)。ASP.NET 并不关心 Startup 类是不是定义为 public,如果它符合命名规范,ASP.NET 将继续加载它。如果有多个 Startup 类,也不会触发异常,ASP.NET 将基于命名空间选择其中一个(匹配项目的根命名空间优先,否则使用第一个按字母排列的命名空间中的类)。

打开Startup类,大概分三块,这个是典型的构造函数注入,完成了一个叫IConfiguration类型变量的注入,至于是怎么注入的,后文中会讲到。这个变量是用来读取配置文件的,跟以前Framework下那个System.ConfigurationManager类差不多的。

然后是ConfigureServices方法,上面的注释描述的很清楚,是交给运行时环境调用的方法,然后用来给容器注册服务的(跟刚才说到的注入一致)。在Asp.Net Core里面,IOC容器是直接内置了的,也就是这个IServiceCollection。感兴趣的小伙伴儿可以去尝试下,直接nuget就可以下载Microsoft.Extensions.DependencyInjection,跟常见的容器用法几乎一样的,后面单独开文章再讲这个。这里完成全部需要依赖注入对象的初始化。

最下面是Configure方法,也是由运行时环境调用的,用来配置HTTP请求的处理管道的。Web的本质就是对Http请求的处理,最终得到一个响应结果,而这个方法,清晰的描述了,该如何去处理请求。

【内置服务和启动】

下面我就可以启动网站了,以前在做网站开发测试的时候,习惯性的去指定一下网站的端口和默认页,但是现在项目类型是控制台项目,相关的配置现在转移到项目的Properties--->launchSettings.json文件里面,可以在这里修改生效!顺便说一下,因为建立项目的时候,勾选了SSL支持,那么这里启动的会是https的Url,而且这个sslPort好像只能是以443开头,否则可能会无法访问。

然后一个完全没有做任何修改的Asp.Net Core2.2的项目就运行起来啦!

【结语】

本篇只介绍了最基本的环境搭建和项目建立过程,解释了一番项目结构,下一篇文章中将带大家尝试一些简单的功能开发尝试了!在这里应该感慨一下,Asp.Net Core的项目,外表看上去和之前,就是相当的不一样,而在本质上,变化可能会更多的。但是这些变化都是向着更优秀的方向的,希望大家能敞开心胸,拥抱变化!欢迎关注公众号,欢迎讨论,欢迎转发,愿天下有需求的人都能看到!

看完本文有收获?请转发分享给更多人

关注「.net学院」,提升.Net技能


觉得文章不错,可以留言,免费送资源哟。。。。

asp服务器_Asp.Net Core2.2从环境配置到应用建立相关推荐

  1. 服务器重装Ubuntu系统+深度学习环境配置

    服务器重装Ubuntu系统+深度学习环境配置 2020年12月14日(勉强成功 最后并不是按照下面这样一步步安装的(可能是由于服务器的硬件问题),而是直接安装CUDA,在安装过程中会提示是否安装nvi ...

  2. CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建

    CentOS7.4中Postfix邮件服务器的搭建(一)-----环境配置及简单搭建 实验内容: 1. 初始环境的优化 2. DNS服务器的搭建和postfix域名解析 3. Postfix服务器安装 ...

  3. Ubuntu20.04服务器重装系统后从头进行环境配置

    昨天把服务器给整坏了,应该是内核崩溃了,问了售后说是更新次数太多了,导致的系统崩溃,最后没办法了,只能重新装系统,这就导致了系统环境要重新配置,记录一下配置的过程和参考的博客.(由于我是远程连接服务器 ...

  4. 在多台云服务器上的Hadoop和Spark环境配置

    1.安装jdk1.8(下载地址): https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...

  5. python2.7环境搭建_Python2.7环境配置及项目建立

    一.安装Python Python比较稳定的两个版本是Python 3.4和Python 2.7,我用的是Python 2.7,下载地址是:https://www.python.org/downloa ...

  6. Hadoop3.X环境配置

    Hadoop环境配置 基本环境配置 core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml workers 配置历史服务器 配置历史服务器 ...

  7. 服务器asp网站环境配置文件,asp服务器环境配置方法

    asp服务器环境配置方法 内容精选 换一换 开发者基于Atlas 200 DK进行AI应用开发前,需要在制作SD卡时准备的Ubuntu服务器中部署开发工具,有以下两种场景:(推荐)部署Mind Stu ...

  8. 第一节:ASP.NET开发环境配置

    第一节:ASP.NET开发环境配置 什么是ASP.NET,学这个可以做什么,学习这些有什么内容? ASP.NET是微软公司推出的WEB开发技术. 2002年,推出第一个版本,先后推出ASP.NET2. ...

  9. 服务器安装 accessdatabaseengine_.net IIS 服务器环境配置

    .net IIS 服务器环境配置​mp.weixin.qq.com 一.安装.net framework AccessDatabaseEngine.exe ​ 1.下载.net framework 4 ...

最新文章

  1. ui动效 unity_Unity - UIWidgets 2. 控件组合
  2. redis trie
  3. oracle 查看表被谁删了_【分享】Oracle 常用运维命令大全
  4. foreman源NO_PUBKEY 6F8600B9563278F6
  5. python datetime.date 和数据库date_Python成为专业人士笔记-date 对象、time 对象及datetime用法深度剖析...
  6. 商品翻牌效果(纯css)
  7. linux文件查找-find和locate
  8. Windows和Mac下获取(当前)进程内存占用
  9. ASoC Codec驱动代码框架图
  10. .NET中利用XML来自动生成代码策略
  11. linux常用分区大小,Linux基本知识点总结——硬盘分区及LVM
  12. 三种典型的博弈论问题(巴什博奕、威佐夫博奕、尼姆博奕)
  13. 腾讯、阿里、搜狐、人人、去哪儿、迅雷等互联网企业产品笔试题目(附个人答案)
  14. 解决LDAP客户端统一认证DirectoryEntry出现 Ox80005000的问题
  15. Python实现定时发邮件
  16. 推导手机QQ聊天记录db文件加密IMEI值
  17. 基于高德地图实现的公交线路查询功能
  18. eNSP三个路由器两个pc连接
  19. 【Windows下设置全局以管理员身份运行cmd】
  20. 人力资源行业拓客的10个经典方法

热门文章

  1. echarts图使用tab和下拉切换
  2. Python之日志处理(logging模块)详解
  3. 【Python】comtypes模块Windows环境下使用批量转换成PDF文件
  4. python学习day26 封装 property 类方法 静态方法 反射
  5. 基于深度学习的中文语音识别系统框架(pluse)
  6. table 样式详解
  7. Hadoop2源码分析-RPC机制初识
  8. 使用ActionScript实现滤镜效果
  9. 蛮力法在排序算法中的应用(JAVA)--选择排序、冒泡排序
  10. PHP函数-判断字符是否在于指定的字符串中