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

phpcms v9 实现网站搜索搜索引擎查关键词排名的软件

phpcms v9 实现网站搜索,搜索引擎查关键词排名的软件,动态网站建设电子教案,怎样做淘宝联盟的网站目录 托管服务的异常问题 托管服务中使用DI 托管服务案例:数据的定时导出 场景,代码运行在后台。比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3点把数据导出到备份数据库,每隔5秒钟在两张表之间同步一次数据。托管服…

目录

托管服务的异常问题

托管服务中使用DI

托管服务案例:数据的定时导出


场景,代码运行在后台。比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3点把数据导出到备份数据库,每隔5秒钟在两张表之间同步一次数据。托管服务实现IHostedService接口,一般编写从BackgroundService继承的类。如需定时操作,可使用Hangfire框架。

builder.Services.AddHostedService<HostedService>();

托管服务的异常问题

  1. 从.NET 6开始,当托管服务中发生未处理异常的时候,程序就会自动停止并退出。可以把HostOptions.BackgroundServiceExceptionBehavior设置为Ignore,程序会忽略异常,而不是停止程序。不过推荐采用默认的设置,因为“异常应该被妥善的处理,而不是被忽略”。
  2. 要在ExecuteAsync方法中把代码用try……catch包裹起来,当发生异常的时候,记录日志中或发警报等。

托管服务中使用DI

  1. 托管服务是以单例的生命周期注册到依赖注入容器中的。因此不能注入生命周期为范围或者瞬态的服务。比如注入EF Core的上下文的话,程序就会抛出异常。
  2. 可以通过构造方法注入一个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.GetRequiredService<TestService>();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.AddHostedService<HostedService>();
builder.Services.AddScoped<TestService>();

托管服务案例:数据的定时导出

常驻后台的托管服务并不需要特殊的技术,我们只要让ExecuteAsync中的代码一直执行不结束就行了。实现的功能就是每隔五秒钟统计一次数据库中的数据,将数据写入文本。

builder.Services.AddHostedService<ScheduledService>();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.GetRequiredService<MyDbContext>();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.mnyf.cn/news/35111.html

相关文章:

  • 文山州建设局网站软件外包公司是什么意思
  • 东莞网站建设咨询公网上交易平台
  • 网络课程教学平台seo基础培训教程
  • 广告设计制作专业关键词优化的发展趋势
  • 建筑市场监管公共服务平台房屋建筑信息平台哈尔滨优化调整人员流动管理
  • 马鞍山网站建设百度上如何做优化网站
  • 长春市做网站哪家好外链互换平台
  • 张家港手机网站建设百度自动驾驶技术
  • 建站abc论坛必应搜索引擎入口
  • avada如何做购物网站java培训机构
  • seo网站优化代码山东做网站公司
  • 江苏中小企业建站价格做网站的平台有哪些
  • 手机网页设计公司谷歌优化教程
  • 精品课程网站建设步骤汽车seo是什么意思
  • 哪公司建设网站软文网站
  • 万州做网站百度热搜高考大数据
  • 做网站建设工资多少百度分析
  • 北京软件开发公司排名前十强优化设计答案大全
  • asp 公司网站bt kitty磁力猫
  • 网站做系统爬虫搜索引擎
  • 怎么给公司免费做网站百度查询入口
  • 网站建设 asp 武汉免费的个人主页网页制作网站
  • 网站开发人员名片推广链接点击器app
  • wordpress的特点()seo的搜索排名影响因素有
  • 做网站如何推销每日新闻摘抄10一15字
  • 领卷网站怎么做google入口
  • 淘宝做网站费用免费职业技能培训网站
  • 网站建设公司dz000舆情通
  • 企业网站keywords最多几个网络营销模式
  • 工作室 网站建设北京网站seo