asp.net core 源码每日读 -- Hosting 总结

前言

前面两篇我们把Hosting源码中两个最重要的类WebHostWebHostBuilder进行了解析. 为了照顾到所有的读者, 读代码的部分尽量做到详尽. 却又不免罗嗦. 这里做一个总结, 尽量做到言简意赅.

启动一个Web 应用时发生了什么?

1. 通过WebHostBuilder对WebHost进行配置
我们会在Program.cs的Main函数中对相应配置项进行配置, 配置项包含所使用的Web容器, Web文件的路径, Startup类的指定, 地址端口等.
2. 生成WebHost
此时会把配置项导入到WebHost实例当中, 对于没有指定的配置, 会使用默认值. 另外会生成一个服务的容器, 用于存储业务逻辑相关的服务. 并将一些服务装入容器中.
3. 启动WebHost
此时会根据前面的配置生成实际的应用处理逻辑, 并将这些业务逻辑的服务装入容器中.

接到一个HTTP请求时发生了什么?

我还没有看到MVC相关的内容, 所以范围之在Hosting中.

1. 接到一个请求时会先创建HttpContext对象
此过程会通过HostApplication对象处理.
2. 根据Startup定义的处理逻辑, 按顺序依次处理请求
此过程会通过调用ProcessRequestAsync函数进行处理.

--------------------------华丽丽的分割-----------------------------------

愿dotnet社区日益强大, 愿dotnet生态日趋完善. dotnet core技术交流群欢迎你, 扫描下面二维码进群.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 开篇 之前写过Asp.net core 中的Startup类是啥?和dotnet core 打造干净的Web AP...
    春上川酷阅读 5,319评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 前言 这个标题也许并不适合这个系列, 因为距离上篇已经半个月有余, 是不是该改名为源码半月读? 为了不让懒癌再次发...
    春上川酷阅读 1,331评论 0 3
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,341评论 11 349
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399