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

订阅号栏目里做微网站移动端响应式网站怎么做

订阅号栏目里做微网站,移动端响应式网站怎么做,网页制作基本代码,在线制作diy电子印章06 | 作用域与对象释放行为接下来#xff0c;把服务切换为单例模式#xff0c;通过工厂的方式services.AddSingletonIOrderService(p new DisposableOrderService());启动程序#xff0c;输出如下#xff1a;1 2 接口请求处理结束可以看到代码实际上不会被释放… 06 | 作用域与对象释放行为接下来把服务切换为单例模式通过工厂的方式services.AddSingletonIOrderService(p new DisposableOrderService());启动程序输出如下1 2 接口请求处理结束可以看到代码实际上不会被释放如果切换为瞬时模式通过工厂的方式services.AddTransientIOrderService(p new DisposableOrderService());启动程序输出如下1 DisposableOrderService Disposed:12021664 DisposableOrderService Disposed:32106157 2 接口请求处理结束 DisposableOrderService Disposed:3165221 DisposableOrderService Disposed:13048313这里可以看到获取四个服务并且释放掉接下来把服务调整为自己创建并注册进去var service new DisposableOrderService(); services.AddSingletonIOrderService(service);同样我们也不会得到释放的输出也就是说通过这种方式注册容器不会管理对象的生命周期如何识别这个区别呢在控制器中注入 IHostApplicationLifetime 接口这个接口的作用是用来管理整个应用程序的生命周期它有一个方法 StopApplication也就是说它可以把整个应用程序关掉接着通过手工关掉的方式看一下应用程序关闭时会不会把单例对象释放掉[HttpGet] public int Get([FromServices] IOrderService orderService,[FromServices] IOrderService orderService2,[FromServices]IHostApplicationLifetime hostApplicationLifetime,[FromQuery]bool stop false) {Console.WriteLine(1);// HttpContext.RequestServices// 是当前请求的一个根容器// 应用程序根容器的一个子容器// 每个请求会创建一个容器using (IServiceScope scope HttpContext.RequestServices.CreateScope()){// 在这个子容器下面再创建一个子容器来获取服务var service scope.ServiceProvider.GetServiceIOrderService();var service2 scope.ServiceProvider.GetServiceIOrderService();}Console.WriteLine(2);if (stop){hostApplicationLifetime.StopApplication();}Console.WriteLine(接口请求处理结束);return 1; }首先用自己创建对象的方式var service new DisposableOrderService(); services.AddSingletonIOrderService(service);启动程序输入 ?stoptruehttps://localhost:5001/weatherforecast?stoptrue输出如下... DependencyInjectionScopeAndDisposableDemo.exe (进程 16884)已退出代码为 0。 要在调试停止时自动关闭控制台请启用“工具”-“选项”-“调试”-“调试停止时自动关闭控制台”。 按任意键关闭此窗口. . .如果单例由容器来管理切换回普通注册方式services.AddSingletonIOrderService, DisposableOrderService();启动程序输入 ?stoptruehttps://localhost:5001/weatherforecast?stoptrue输出如下Application is shutting down... 接口请求处理结束 DisposableOrderService Disposed:23399238对象释放应用程序退出这里说明单例的服务都是注册在根容器里面根容器的释放意味着需要在整个应用程序退出时释放这个时候它会释放自己所管理的所有的 IDisposable 的对象这里面有一个非常需要注意的坑假如把服务注册成瞬时的services.AddTransientIOrderService, DisposableOrderService();然后又在根容器里面去获取这个对象var s app.ApplicationServices.GetServiceIOrderService();这意味着在根容器去持续的创建 IOrderService但是由于根容器只会在应用程序整个退出时回收也就意味着这些对象会一直积累在应用程序内调整控制器不获取 IOrderService[HttpGet] public int Get([FromServices]IHostApplicationLifetime hostApplicationLifetime,[FromQuery]bool stop false) {if (stop){hostApplicationLifetime.StopApplication();}return 1; }仅仅在根容器获取一次var s app.ApplicationServices.GetServiceIOrderService();这样运行起来每次请求点击刷新的话整个输出是不会有内容的因为我们没有在子容器里面去获取对象但实际上当我们退出的时候会发现确实有一个实例被释放掉了DisposableOrderService Disposed:7511460也就是说实现了 IDisposable 接口的服务如果时注册瞬时的又在根容器去做操作它会一直保持到应用程序退出的时候才能够被回收掉
http://www.zqtcl.cn/news/340207/

相关文章:

  • 网站腾讯备案吗wordpress英文主题怎么用
  • 网站内容建设的建议wordpress主题enfold
  • 哪里做网站优化石家庄学校网站建设
  • 诸暨北京有哪些网站制作公司wordpress菜单外链
  • 免费建网站的步骤wordpress分享可见内容
  • 成都网站建设公司服务商自己做网站还有出路吗
  • 汉南城乡建设局网站网站建设新手教程
  • 网站用途及栏目说明软件外包公司开发流程
  • 公司做网站做淘宝好还是自建网站好
  • 成功网站案例有哪些淮安市交通建设局网站
  • 购买虚拟机建网站网站开发合同变更
  • 备案的网站做跳转不影响备案把购彩网站建设
  • 2w网站建设模式百度应用市场
  • vps主机访问网站湖南建站网站
  • 滨州正规网站建设公司用r语言 做网站点击热力图
  • php网站模板wordpress自定义头像上传
  • 江油市规划和建设局网站一个app网站
  • 郑州网站建设up188WordPress响应式幻灯片
  • 幸运28网站代理怎么做网站后期维护工作包括哪些
  • 西安网站建设seo网络营销的职能
  • 大型网站建设哪家服务好dll网站服务
  • 怎样建设网赌网站江苏外贸网站建设
  • 做外贸有哪些网站怎么在360自己做网站
  • 企业网站建立费用 作什么科目深圳服装外贸公司
  • 淘宝网站建设代码视频开放api
  • 清廉企业建设骨科医院网站优化服务商
  • 公司网站建设开源平台网站建设推来客在哪里
  • 本地电脑静态网站建设半年工作总结
  • 潮州哪里做网站html in wordpress
  • 在浏览器上建设网站平面作品集展示图片