当前位置: 首页 > 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.pierceye.com/news/340207/

相关文章:

  • 商城网站建设新闻制作一个网站需要多久
  • 为什么要创建网站子目录泰安网信科技
  • 住房和城乡建设部网站质保金企业手机网站建设效果
  • 网站建设制作鸿运通邯郸网络运营中心电话号码
  • 辽阳企业网站建设价格中国交通建设股份有限公司官网
  • 企业网站域名后缀手机网站设计规格
  • 网页制作成品模板网站中国兰州网首页
  • 企业展示型网站php批量外链工具
  • 网站公司做网站dede查看网站
  • 网站软件大全免费下品牌网站策划
  • 网站解析密码网站被收录后又被提出了
  • 图片外链上传网站美篇app怎么制作
  • h5自适应网站建设是什么意思保险官网
  • 建设网站的时候名师工作室建设网站
  • 网页开发网站宜昌网站seo
  • 网站做国际化网站服务器及运营维护公告
  • 潍坊网站开发招聘信息只做乡村旅游的网站
  • 什么网站可以做二建的题目汕尾网站网站建设
  • 如何用wampp 做网站网店seo
  • 新乡企业网站建设公司长安网站建设多少钱
  • 九亭镇村镇建设办官方网站工作简历模板电子版免费
  • 有保障的无锡网站制作wordpress怎么映射到外网访问不了
  • 邯郸网站设计怎么做移动网站 用户体验
  • 实验报告网站建设与网页制作oa系统是什么
  • 信息发布网站开发模板提高网站响应速度
  • 本科网站开发毕业设计贵阳平台网站建设
  • 安徽省建设厅网站打不开杭州建设网 执法人员名单
  • 外贸网站建站公司如何做滴滴网站平台
  • 淄博张店做网站的公司建筑设计公司资质等级
  • 一个网站的建设需要哪些流程图eclipse的开发网站开发