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

网络营销技能大赛优秀作品天津seo推广

网络营销技能大赛优秀作品,天津seo推广,网站策划500字,苏州做网站找哪家好06 | 作用域与对象释放行为作用域主要由 IServiceScope 这个接口来承载对于实现 IDisposable 类的实例的对象#xff0c;容器会负责对其生命周期进行管理#xff0c;使用完毕之后#xff0c;他会释放这些对象实现 IDisposable 接口类型的释放#xff1a;1、容器只会负责由其… 06 | 作用域与对象释放行为作用域主要由 IServiceScope 这个接口来承载对于实现 IDisposable 类的实例的对象容器会负责对其生命周期进行管理使用完毕之后他会释放这些对象实现 IDisposable 接口类型的释放1、容器只会负责由其创建的对象如果这个对象是自己创建出来并放到容器里的容器不负责释放这个对象2、在容器和子容器释放时容器才会去释放这些对象也就是说容器的生命周期与其创建的对象的生命周期是有对应关系的两点建议1、在根容器最好不要创建实现了 IDisposable 瞬时服务2、避免手动创建实现了 IDisposable 对象然后塞到容器里面应该尽可能地使用容器来管理我们对象的创建和释放演示代码https://github.com/witskeeper/geektime/tree/master/samples/DependencyInjectionScopeAndDisposableDemo先看一下服务namespace DependencyInjectionScopeAndDisposableDemo.Services {public interface IOrderService{}public class DisposableOrderService : IOrderService, IDisposable{public void Dispose(){Console.WriteLine($DisposableOrderService Disposed:{this.GetHashCode()});}} }首先定义 IOrderService接着定义 IOrderService 的实现 DisposableOrderService并实现了 IDisposable 这个接口在释放的时候打印释放信息并输出对象的 HashCode接着是服务注册Startupservices.AddTransientIOrderService,DisposableOrderService();这里先注册一个瞬时服务将 IOrderService 注册进去然后看一下控制器WeatherForecastController[HttpGet] public int Get([FromServices] IOrderService orderService,[FromServices] IOrderService orderService2) {return 1; }这里 FromServices 获取了两次 IOrderService这里不需要写任何代码对它进行操作因为整个生命周期是由容器去管理的启动程序输出如下DisposableOrderService Disposed:10579059 DisposableOrderService Disposed:47945396可以看出执行完毕之后DisposableOrderService 会被释放掉并且两个对象都会被释放掉两个对象的 HashCode 不同瞬时服务在每一次获取的时候都会获得一个新的对象接着添加一行代码表示服务[HttpGet] public int Get([FromServices] IOrderService orderService,[FromServices] IOrderService orderService2) {Console.WriteLine(接口请求处理结束);return 1; }输出一下表示我们的接口已经访问完毕看一下释放时机在哪里启动程序输出如下接口请求处理结束 DisposableOrderService Disposed:35023218 DisposableOrderService Disposed:13943705由此看出接口请求处理结束后才释放对象接下来看一下 Scoped 模式服务注册services.AddScopedIOrderService(p new DisposableOrderService());控制器[HttpGet] public int Get([FromServices] IOrderService orderService,[FromServices] IOrderService orderService2) {Console.WriteLine(1);// HttpContext.RequestServices// 是当前请求的一个根容器// 应用程序根容器的一个子容器// 每个请求会创建一个容器using (IServiceScope scope HttpContext.RequestServices.CreateScope()){// 在这个子容器下面再创建一个子容器来获取服务var service scope.ServiceProvider.GetServiceIOrderService();}Console.WriteLine(2);Console.WriteLine(接口请求处理结束);return 1; }启动程序输出如下1 DisposableOrderService Disposed:31307802 2 接口请求处理结束 DisposableOrderService Disposed:31614998每次请求会获得两个释放意味着每创建一个 Scoped 的作用域每个作用域内可以是单例的
http://www.pierceye.com/news/776343/

相关文章:

  • 档案网站建设视频网络软营销的案例
  • 德州市建设局质监站网站织梦做的网站打包在dw修改
  • 做那个男女的视频网站湖南响应式网站公司
  • 1个ip可以做几个网站电商网站建设阿里云
  • 网站做seo需要些什么wordpress虎嗅破解版
  • 网站开发按钮图片素材巩义自助建站优化
  • 石家庄网站建设接单常见的网络直接营销有哪些
  • 上海网站建设技术托管找合伙人做网站
  • 网站和自媒体都可以做东莞专业营销网站建设推广
  • 毕业设计网站怎么做校园网二手书交易网站建设
  • 网站运营托管协议凡科建设网站还用买服务器吗
  • 黑龙江省建设网官方网站erp系统软件免费版
  • 网站建设案例算命网站百度搜索站长平台网站
  • 手机wap网站模板 带后台thefox wordpress
  • 公司网站建设与设计制作游戏网站的设计方案
  • 移动端网站设计规范程序员帮忙做放贷网站
  • 网站到期查询广西建设信息网
  • 服务器可以放几个网站市场调研的五个步骤
  • 网站前置审批h5页面制作软件thinkphp
  • 企业网站设计调查问卷步骤记录器
  • dw里响应式网站怎么做郑州电力高等专科学校学费多少
  • 用app怎么样建网站深圳专业做网站的
  • 怎样做浏览的网站不被发现互联网营销师报考条件
  • 电子商务网站建设与电子支付网站进不去怎么解决
  • 微信网站模板下载电子商务网站建设的四个步骤
  • 网站内如何做论坛建设网站宝安区
  • 公司网站管理制定的作用网站建设设计文档模板
  • 做网站 附加信息全网整合营销公司
  • 做网站都需要用到什么软件每年网站备案抽查
  • 网站如何做电脑和手机软件ps素材网站大全