ASPNetCore启动流程和托管模式(1)
2021/4/23 14:25:44
本文主要是介绍ASPNetCore启动流程和托管模式(1),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
直接上代码,重点文字看注释
namespace ProNetCore { public class Program { public static void Main(string[] args) { //在内部会先配置K8s服务器和IIS相关,其他配置 IHostBuilder builder = Host.CreateDefaultBuilder(args); //启用用户配置的参数,其中包含我们注册的服务/组件以及请求处理管道相关内容 builder.ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Test>(); }); //webhost 用来监听Http请求,就会跳转到Startup类中, //在Startup类中有Configure这个方法来可以处理:HTTP请求处理 IHost webhost = builder.Build();//走到这里会跳转到ConfigureServices()这个方法 webhost.Run();//Run的时候会到Configure()方法里 //CreateHostBuilder(args).Build().Run(); } public class Test { public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); app.UseEndpoints(endpoints => { endpoints.MapGet("/", async context => { await context.Response.WriteAsync($"ProcessName:{System.Diagnostics.Process.GetCurrentProcess().ProcessName}"); }); }); } } public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }); } }
2种托管模式
1.InProcess(进程内/默认) 2.OutOf(进程外) //进程内比进程外提供更好的性能 //进程内有一个服务器:要么是IIS,要么是K8s //进程外有2个服务器:一个是内部服务器(K8s),一个是外部服务器(IIS,nginx....) //AspNetCore 内置的服务器是K8s //在调试的时候 //如果选择IIExpress进行调试:当前进程的名字就是IISExpress 在任务管理器里就会找到一个IISEXpress.exe的文件 //如果选择项目名称ProNetCore进行调试:当前进程的名字就是ProNetCore //IISExpress和IIS的区别: //1:IISExpress是轻量级版本,针对开发时优化的一个版本,在实际的生产过程中,往往使用的是IIS
通过dotnet core 进行启动项目
在浏览器中回车上面的URL都是ok的
这篇关于ASPNetCore启动流程和托管模式(1)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID
- 2024-01-23用CI/CD工具Vela部署Elasticsearch + C# 如何使用
- 2024-01-23.NET开源的简单、快速、强大的前后端分离后台权限管理系统