ASP.Net Core下的HTTP请求处理过程

ASP.Net Core是一个自宿主的程序,里面含有Program类。BuildWebHost方式是程序最先开始执行的方法。类似于Main函数体

 public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();

IWebHost是通过IWebHostBuilder构建的。之后使用UseStartup来进入程序启动阶段。之后来到StartUp.cs类文件中,有两个方法。IConfiguration和Configure

IConfiguration首先执行,该方法主要目的是通过IServiceConllection注入对象,Configura方法主要作用是处理中间件。

中间件Middleware 它通过IApplicationBuilder来调用,调用的方式有App.Run  App.Use  App.Map这三种方法使用。

中间件携带RequestDelegate委托,该委托包含HttpContext参数。所以中间件可以对请求进行操作,列如改变路由等操作,之后根据路由解析到相应页面进行处理后,携带Response返回客户端。

有张图找不到了。。很形象的描述了Asp.NetCore的Http请求管道。个人觉得图像才会让人记忆深刻。等找到我在补上去。我觉得这些只不过浅显的看懂表面上的东西,深层的东西还需要自己挖源码阿~

 

posted @ 2018-04-24 22:11  Lah98  阅读(1409)  评论(0编辑  收藏  举报