当前位置: 首页 > news >正文

南宁建站程序网站首页欣赏

南宁建站程序,网站首页欣赏,公众号怎么制作合集,分析企业网站建设流程这是ASP.NET Core新核心对象系列的第二篇#xff0c;上一篇 WebHost准备阶段 我们讲到了WebHostBuilder的初始化及配置。我们给WebHostBuilder进行以下配置 UseKestrel 设置Kestrel为HttpServer ConfigureAppConfiguration 设置了配置文件 ConfigureLogging 配置了日志处理器… 这是ASP.NET Core新核心对象系列的第二篇上一篇 WebHost准备阶段 我们讲到了WebHostBuilder的初始化及配置。我们给WebHostBuilder进行以下配置 UseKestrel 设置Kestrel为HttpServer ConfigureAppConfiguration 设置了配置文件 ConfigureLogging 配置了日志处理器添加了 Debug和控制台两种方式 UseStartup 指定了Startup类 有了一个WebHostBuilder之后我们就可以调用它的Build方法来构建一个WebHost。 我们可以先来看一下Build方法的代码 // 初始化DIvar hostingServices BuildCommonServices(out var hostingStartupErrors);var applicationServices hostingServices.Clone();var hostingServiceProvider hostingServices.BuildServiceProvider();// 构造 WebHost var host new WebHost(applicationServices,hostingServiceProvider,_options,_config,hostingStartupErrors);// 初始化host host.Initialize();return host; BuildCommonServices 这是 WebHostBuild方法执行的第一个方法主要是new ServiceCollection 以及完成了以下几个基础实例的注册 IApplicationBuilderFactory IHttpContextFactory IMiddlewareFactory IStartupFilter IServiceProviderFactoryIServiceCollection IStartup 其实将IStartup注册到 DI利用了两种方式 。如果我们在WebHostBuilder中指定的 Startup.cs继承自 IStartup接口则直接绑定到IStartup。 if (typeof(IStartup).GetTypeInfo().IsAssignableFrom(startupType.GetTypeInfo())) {services.AddSingleton(typeof(IStartup), startupType); } 否则需要 按照命名规则来构造一个Startup。 services.AddSingleton(typeof(IStartup), sp {var hostingEnvironment sp.GetRequiredServiceIHostingEnvironment();var methods StartupLoader.LoadMethods(sp, startupType, hostingEnvironment.EnvironmentName);return new ConventionBasedStartup(methods); }); Host的初始化 Host的初始化是我们这次要讲的重点因为它完成了整个Http管道的构建。 if (_application null){_application BuildApplication();} 这个_application即是一个RequestDelegate。参数为一个HttpContext。 public delegate Task RequestDelegate(HttpContext context); 我们来看一下BuildApplication方法有7步后面的五步总结起来是构造IAapplicationBuilder并用Startup.cs的Configure方法构造一个我们上面讲的这个RequestDeleaget。 IApplicationBuilder  IApplicationBuilder定义在HttpAbstractions这个项目里面HttpAbstractions是ASP.NET Core在 Githab上的一个子项目也是ASP.NET Core的重要组成部分它定义了很多ASP.NET Core中关于HTTP处理整个过程中的行为。 IApplicationBuilder就算一个。 它主要包括以几个重要的属性 我们在Startup.cs中看到的Configure方法给的参数就是这个IApplicationBuilder而这个方法是用来添加Middleware的。 public void Configure(IApplicationBuilder app) { // 相当于 ListMiddleware().add(某个middleware)app.Use(某个Middleware) } 它决定了我们的一个请求会经历哪些步骤最终返回给客户端。但是它的生命很短暂毕竟它只是个Builder在它完成管道的构建之后它就生命就结束了。构建管理的过程很简单 从DI中获取IApplicationBuilderFactory 实例 builderFactory builderFactory.CreateBuilder() 得到 ApplicationBuilder 获取IStartupFilter实例 调用IStartupFilter实例的Configure方法传处第二步得到的ApplicationBuilder 调用 ApplicationBuilder的Builder方法也就是我们上面讲的把所有注册的Middleware串起来最后返回一个RequestDelegate WebHost.Start 在我们的WebHost初始化完成之后它的Start方法会被调用来启动IServer的端口监听并开始处理Http请求。这是WebHost的第三阶段启动过程  原文http://www.jessetalk.cn/2017/11/14/aspnet-core-object-webhost-build/  .NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.yutouwan.com/news/244662/

相关文章:

  • 佛山网站建设多少钱河南宝盈建设工程有限公司网站
  • 网站建设评比文章哪个网站可以做360度评估
  • 网站怎么添加代码怎么去掉网站底部信息
  • 网站的主页按钮怎么做的网站生成系统
  • 网站建设及编辑岗位职责加拿大28怎么做网站代理
  • api接口开发网站开发Wordpress也
  • 三星网站建设内容淘词神器
  • 做公司网站用哪个公司比较好设备 光速东莞网站建设
  • 北京的电商平台网站wordpress哪个模版好用
  • 中国城乡住房和城乡建设部网站首页北京做网站推广兼职
  • 常州知名网站河北邯郸市简介
  • 青岛黄岛区网站开发网站上线 备案
  • 建设京东类的网站需要什么流程苏州市工程造价信息网
  • 新农村基础设施建设网站网站整站下载
  • 网站在哪备案无锡电商网站设计
  • 网站服务器的搭建建设企业网站得花多少
  • 微信定制开发小程序wordpress 百度优化 插件
  • 有关外贸的网站有哪些内容江西省寻乌县建设局网站
  • 做仿牌网站被封泾川县住房和城乡建设局网站
  • 网站首页设计代码做个人网站怎么赚钱
  • 品牌商标购买网站网站demo制作工具
  • 什么样的网站适合搜索引擎收录wordpress noindex
  • 外贸五金网站开网店需要准备什么资料
  • 国外网站为啥速度慢中关村手机报价大全
  • 个人建网站wordpress自动获取标签
  • 帝国网站管理 上一条 下一条 链接 信息id 信息发布时间国外做的好点电商网站
  • 长沙网站优化排名推广中国科技
  • 临沂谁会做网站淘客网站做单品类
  • 企业网站建设哪家好wordpress图片上添加图标
  • 莞城网站建设公司专业外贸公司网站