欢迎光临
我们一直在努力

[..net core]4.入口,Main方法 及InProcess

通常控件台程序都有一个main方法,  

 public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); }

 

.net core web app也有一个,因为它启动的时候就是一个控制台程序

在这个main方法中 配置了一些.net core web app的参数,然后启动它 ,为控制台程序根据之前讲过的AspNetCoreHostingModel创建了一个寄宿环境

这里他就成为一个.net core web app.

AspNetCoreHostingModel 之前有说过  可以设置成inProcess和outProcess

当设置成inprocess(托管于服务器)时, 比设置成outProcess具有更高的吞吐量能力

把startup.cs里的Configure方法里的打印hello word的代码 改变成 打印进程名称

 await context.Response.WriteAsync(Process.GetCurrentProcess().ProcessName);

ctrl + f5(托管于IIS) 运行起来的效果

这时我们知道 .net core web app在调试时使用是IIS作为web服务器,寄舍在iisexpress.exe进程中,可以从任务栏浏览或关掉它.

 

当我们使用命令行dotnet run(不托管于IIS)

 

 看到的效果 ,这时没有托管在web服务器上, 则启用了.net core内置的kerstrel 服务器.

 

 

 这时我们知道, 当我们使用dotnet run 时, 不再使用iis 托管,而是使用.net core的内置 web服务器 kerstrel 

kerstrel是 .net core web app 的跨平台内置web服务器

 

inprocess 托管于iis时的情况如下图所示

 

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:[..net core]4.入口,Main方法 及InProcess
文章链接:https://www.jmwz.net/1657.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
分享到: 更多 (0)