博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2:Program.cs文件分析
阅读量:4624 次
发布时间:2019-06-09

本文共 1259 字,大约阅读时间需要 4 分钟。

1:如下图,Connected Services和依赖项,这两个东西在硬盘上是不存在的;Properties在硬盘上是存在的。如果使用其他模板,会有一个wwwroot,这个也是在硬盘上存在的。

2:appsettings.json就是个配置文件

3:Program.cs和Startup.cs,这两个文件控制着整个程序在运行时候的启动和配置

4:实际上还有一个项目文件,我们右键项目,选择scproj

5:这个文件里呢,包含了所有用来构建你这个项目的一些明细信息,比如项目所用的SDK,以及NuGet包等等

 

 6:Program.cs

  6.1:如下图所示,有个Main方法和控制台一样,这个Main方法可以传参数,所以我们有一些可以配置的参数可以通过命令行参数来传进来,由于它是控制台请求,那么他可以通过控制台来启动

  6.2:如果是命令行运行,如下图:运行这个项目,args就相当于参数,这个dotnet run 运行之后,他就会去找Program.cs里的Main方法,然后把参数传给CreateWebHostBuilder(也就是上图下面的那个方法)

  6.3:用这个CreateWebHostBuilder方法来构建一个webHost,也叫webServer,然后build一下,接着就运行了

  6.4:如果是用Visual Studio运行的话,原理也一样,也是找Main方法把参数传进去,但不同的是使用VS运行时默认情况下是使用IIS Express,

  6.5:VS运行web项目的时候他会把webServer(它构建出来的webServer),把他放到IIS Express的后面,所以IIS Express就相当于一个代理服务器,他会把外界的请求来转发给我们的web应用程序。

  6.5:我们这个web应用原来是运行在一个单独的进程,他有他自己的服务器,但是现在使用Inprocess之后呢,他就和IIS运行于同一个进程了,这样性能会有所提高。

7:CreateWebHostBuilder方法返回的是一个IWebHostBuilder,然后用这个builder进行build()一下,就出来这个webHost或者叫webServer,然后运行就可以了

  7.1:下面这个方法调用了WebHost的静态方法CreateDefaultBuilder(),在这里我们可以对他进行配置,比如下面使用Startup类

  7.2:这个UseStartup方法就是说,我们将使用Startup类来配置整个web应用,包括注册哪些服务了,按什么顺序使用中间件,都在这个类里进行配置

8:当走到Run之后,我们这个web应用就可以监听http或者https的请求了

9:整个program这个类,主要配置的是整个web应用的基础设施,例如http服务器以及如何集成到IIS和配置源等信息 

 

 

 

转载于:https://www.cnblogs.com/Codemandyk/p/10900648.html

你可能感兴趣的文章
[正则表达式]难点和误区
查看>>
217. Contains Duplicate
查看>>
hadoop遇到问题总结
查看>>
Windows下手动安装redis服务
查看>>
把 MongoDB 当成是纯内存数据库来使用(Redis 风格)
查看>>
PyTorch 1.0 中文官方教程:使用ONNX将模型从PyTorch传输到Caffe2和移动端
查看>>
LeetCode 4Sum
查看>>
BBC-The Race and a quiz
查看>>
大端小端
查看>>
IntelliJ IDEA 把java项目导出成可执行的jar
查看>>
DynamicReports
查看>>
[Openstack] Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL]
查看>>
How to Create Modifiers Using the API QP_MODIFIERS_PUB.PROCESS_MODIFIERS
查看>>
待飞笔记(第一天 )
查看>>
解惑好文:移动端H5页面高清多屏适配方案
查看>>
traefik添加多证书
查看>>
PhantomJs 笔记
查看>>
js设计模式--语言类型
查看>>
C#多线程之二:ManualResetEvent和AutoResetEvent
查看>>
忽略UserInterfaceState.xcuserstate
查看>>