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

动漫网站开发设计思想网站开发报价表格式模板

动漫网站开发设计思想,网站开发报价表格式模板,苏州网站建设找苏州聚尚网络推荐,网站源码安装目录 托管服务的异常问题 托管服务中使用DI 托管服务案例#xff1a;数据的定时导出 场景#xff0c;代码运行在后台。比如服务器启动的时候在后台预先加载数据到缓存#xff0c;每天凌晨3点把数据导出到备份数据库#xff0c;每隔5秒钟在两张表之间同步一次数据。托管服…目录 托管服务的异常问题 托管服务中使用DI 托管服务案例数据的定时导出 场景代码运行在后台。比如服务器启动的时候在后台预先加载数据到缓存每天凌晨3点把数据导出到备份数据库每隔5秒钟在两张表之间同步一次数据。托管服务实现IHostedService接口一般编写从BackgroundService继承的类。如需定时操作可使用Hangfire框架。 builder.Services.AddHostedServiceHostedService(); 托管服务的异常问题 从.NET 6开始当托管服务中发生未处理异常的时候程序就会自动停止并退出。可以把HostOptions.BackgroundServiceExceptionBehavior设置为Ignore程序会忽略异常而不是停止程序。不过推荐采用默认的设置因为“异常应该被妥善的处理而不是被忽略”。要在ExecuteAsync方法中把代码用try……catch包裹起来当发生异常的时候记录日志中或发警报等。 托管服务中使用DI 托管服务是以单例的生命周期注册到依赖注入容器中的。因此不能注入生命周期为范围或者瞬态的服务。比如注入EF Core的上下文的话程序就会抛出异常。可以通过构造方法注入一个IServiceScopeFactory服务它可以用来创建一个IServiceScope对象这样我们就可以通过IServiceScope来创建短生命周期的服务了。记得在Dispose中释放IServiceScope。 public class HostedService : BackgroundService {private IServiceScope serviceScope;public HostedService(IServiceScopeFactory serviceScopeFactory){this.serviceScope serviceScopeFactory.CreateScope();}public override void Dispose(){this.serviceScope.Dispose();base.Dispose();}protected override async Task ExecuteAsync(CancellationToken stoppingToken){try{var testService serviceScope.ServiceProvider.GetRequiredServiceTestService();Console.WriteLine(HostService1启动 testService.Add(1, 1));await Task.Delay(3000);string txt await File.ReadAllTextAsync(f:/1.txt);Console.WriteLine(文件读取完成);string s null;s.ToString();await Task.Delay(3000);Console.WriteLine(txt);}catch (Exception ex){Console.WriteLine(服务中出现未处理异常 ex);}} } public class TestService {public int Add(int a, int b){return a b;} } builder.Services.AddHostedServiceHostedService(); builder.Services.AddScopedTestService(); 托管服务案例数据的定时导出 常驻后台的托管服务并不需要特殊的技术我们只要让ExecuteAsync中的代码一直执行不结束就行了。实现的功能就是每隔五秒钟统计一次数据库中的数据将数据写入文本。 builder.Services.AddHostedServiceScheduledService();public class ScheduledService : BackgroundService {private readonly IServiceScope serviceScope;public ScheduledService(IServiceScopeFactory serviceScopeFactory){this.serviceScope serviceScopeFactory.CreateScope();}public override void Dispose(){this.serviceScope.Dispose();base.Dispose();}protected override async Task ExecuteAsync(CancellationToken stoppingToken){try{var dbCtx serviceScope.ServiceProvider.GetRequiredServiceMyDbContext();while (!stoppingToken.IsCancellationRequested){var count dbCtx.Users.LongCount();await File.WriteAllTextAsync(F:/1.txt, count.ToString());await Task.Delay(5000);}Console.WriteLine(导出成功 DateTime.Now);}catch (Exception ex){Console.WriteLine(ex);}} }
http://www.w-s-a.com/news/839024/

相关文章:

  • 个人网站备案模板制作网站首页
  • 潍坊正规建设网站网站建设设计作业
  • 推荐一下网站谢谢辽宁住房城乡建设部官方网站
  • 网站文件大小英选 网站开发
  • 济南建网站哪家好wordpress编辑器排行
  • 在福州做搬家网站多少钱画册设计网站有哪些
  • 如何让别人浏览我做的网站哪些方法可以建设网站
  • 网站建设与管理网络推广的优点
  • 美食网站的设计与制作做网站的电销话术
  • 中国档案网站建设现状研究陕西建设厅执业资格注册中心网站
  • 网站建设的内容管理怎么用ps切片在dw里做网站
  • 建设婚恋网站用什么搭建涿州网站开发
  • 做知识内容的网站与app哈尔滨哪里有做网站的
  • 青岛企业网站建站模板百度网站建设推广
  • 做360网站中保存的图片存在哪里个人建立网站要多少钱
  • 网站安装部署无锡做网站的公司
  • 怎么将网站做成小程序安装wordpress到服务器
  • 企业网站建设的四大因素沈阳网站建设招标公司
  • wordpress仿站开发公司网站策划宣传
  • 金乡县网站开发网站开发三个流程
  • qq空间网站是多少纺织网站建设方案
  • 建设微网站项目报告网站优化难吗
  • 做网站需要自己上传产品吗企业网站系统设计
  • wordpress个人中心济南网站建设和优化
  • 网站pc端网址和手机端网址建设牡丹江 网站建设
  • 苏州新区城乡建设网站人才招聘网站开发
  • 一般网站是怎么做的威远移动网站建设
  • 赣州网站开发公司怎么才能设计好一个网站
  • 个人网站建设分几个步走培训网站开发哪个好
  • 智能网站价格河北城乡建设网站