.net core day01

Asp .Net Core项目文件

  使用C#语言开发 .csproj是根据编程语言的文档使用

  和之间的区别是项目文件和文件夹不包含在.csproj文件中,以前是指定好项目文件和项目文件夹的路径现在不需要指定这些。应该是和win10的文件管理器打通了。

  不需要卸载项目就可以直接编辑文件

  还有就是可以在项目文件夹中创建文件直接可以显示在项目中

TargetFrameWork:指定目标框架

AspNetCoreHostingModel:指定应用程序托管形式:

InProcess是指定我们要使用进程内托管模型,即在IIS工作进程(w3wp.exe)中托管我们的asp.net core程序

OutOfProcess是我们要使用进程外托管模型,就是将web请求转发到asp.net core中,而整个应用程序运行在.net core内置的Kestrel中

asp.net core默认是进程外的一个托管形式 OutOfProcess 这里的默认是指的删除csproj中的配置,所用的托管模型

PackageReference

配置包的引用,在NuGet中可以找到对应的NuGet。在NuGet中可以看到Microsoft.AspNetCore.App 引用了很多的其他的包。这个包我们叫做综合包(Metapackage)。目前只有一个这个包

这个包本身没有任何信息只是一个其他包的依赖列表。就是asp.netcore中可能用到的包的列表。你如果需要需要去NuGet中下载

如果这个引用包没有指定版本会根据你的sdk版本只默认指定版本

AspNetCore项目启动是通过一个控制台启动的

调用CreateWebHostBuilder方法返回一个web主机,Builder方法就是将程序托管到iis或者Kestrel

Run方法用来启动程序接受web请求   

第一个方法用来配置应用程序需要的各种服务

第二个方法用了配置我们接受请求的管道处理。中间件的配置

进程内托管和进程外托管

 上图为进程内托管。w3wp.exe为iis进程名称,而iisexpress.exe是我们的vs中iis的进程名称

 

 上图会和进程内托管有相同的效率

然而这种模式会存在效率要比进程内托管效率低一些但是也有优点

就是让程序更加容易拓展,运维层面上可以使用不同的服务器。也使得程序更加安全

 

猜你喜欢

转载自www.cnblogs.com/-alvin/p/12267137.html