asp.net-core-hosted-services相关内容
我们有微服务在Azure服务结构中运行,我们有一个需要每15分钟运行一次的后台任务,以执行一些与数据库相关的操作。我看到两个选项。 使用StatelessService.RunAsync方法并在相关微服务之一下实现后台任务。 使用HostedService和Do Service.AddHostedService实现逻辑。相关微服务的启动.cs中的ConfigureServices方法中
..
在 ASP.NET Core 2.1 中注册自定义托管服务的正确方法是什么?例如,我有一个源自 BackgroundService 名为 MyHostedService.我应该如何注册? public IServiceProvider ConfigureServices(IServiceCollection services){//...services.AddSingleton();} 或
..
我有一个应用程序,它通常应该是一个简单的控制台应用程序,它被编程为 Windows 任务计划程序不时调用的计划任务. 程序应该在两个数据库上启动一些更新,每个数据库一个服务.假设 ContosoDatabase 应该由 ContosoService 更新. 最后,它被编写为 .NET Core 应用程序,使用可能不是最佳选择,IHostedServices 作为服务的基础,如下所示:
..
我正在尝试在我的 .NET Core 3.1 应用程序中构建一个每小时运行的服务.我的服务每小时运行一次(即在 StartAsync() 中遇到断点),但实现立即抛出以下错误: 任务被取消 我已经搜索了很多,但是我很难找到有用的回复;似乎这些在使用 HttpClient 时最常见,这与我的情况无关. 也就是说,我有一种预感,我应该等待某事,但是我尝试添加 await 导致应用程序
..
我正在尝试在我的 .NET Core 3.1 应用程序中构建一个每小时运行的服务.我的服务每小时运行一次(即在 StartAsync() 中遇到断点),但实现立即抛出以下错误: 任务被取消 我已经搜索了很多,但是我很难找到有用的回复;似乎这些在使用 HttpClient 时最常见,这与我的情况无关. 也就是说,我有一种预感,我应该等待某事,但是我尝试添加 await 导致应用程序
..
我遇到过 Task.Delay() 方法会在 IApplicationLifetime 中触发取消事件的情况.代码如下: 静态异步任务 Main(string[] args){Console.WriteLine(“开始");等待 BuildWebHost(args).RunAsync();Console.WriteLine(“按任意键退出..");Console.ReadKey();}私有静态
..
在我们的 MultiTenant ASP.NET Core 2.2 应用中,我们根据 URI 确定租户. 如何从 IHostedService 获取网站 URL?HttpContext 始终为 null. IHttpContextAccessor.HttpContext 总是为空 public MyHostedService(ILogger logger,IHttpContextAc
..
我遇到过 Task.Delay() 方法会在 IApplicationLifetime 中触发取消事件的情况.代码如下: 静态异步任务 Main(string[] args){Console.WriteLine(“开始");等待 BuildWebHost(args).RunAsync();Console.WriteLine(“按任意键退出..");Console.ReadKey();}私有静态
..
我遇到过 Task.Delay() 方法会在 IApplicationLifetime 中触发取消事件的情况.代码如下: 静态异步任务 Main(string[] args){Console.WriteLine(“开始");等待 BuildWebHost(args).RunAsync();Console.WriteLine(“按任意键退出..");Console.ReadKey();}私有静态
..
在我们的 ASP.Net Core Web API 中,我们使用 Hosted Services 来执行一些后台任务.有时可能这些后台任务需要很长时间才能完成(大约一个小时).除非有长时间运行的任务,否则一切都可以无缝运行. IIS 应用程序池的空闲超时默认值为 20 分钟.因此,当 20 分钟内没有请求时,IIS 会重新启动应用程序池.但有时,后台任务可能会运行并且 IIS 重新启动,而不
..
在我们的 ASP.Net Core Web API 中,我们使用 Hosted Services 来执行一些后台任务.有时可能这些后台任务需要很长时间才能完成(大约一个小时).除非有长时间运行的任务,否则一切都可以无缝运行. IIS 应用程序池的空闲超时默认值为 20 分钟.因此,当 20 分钟内没有请求时,IIS 会重新启动应用程序池.但有时,后台任务可能会运行并且 IIS 重新启动,而不
..
我正在创建一个工作服务,它将作为 Windows 服务运行.我有一个需求,我想调用两个可能有不同计时器的任务. 说 DoWork 应该每 5 分钟调用一次,DoAnotherWork 应该每 10 分钟左右调用一次.这两个任务可以并行运行,互不依赖. 我能够创建任务 DoWork,它可以每 5 分钟运行一次.我对如何实现另一个具有不同计时器持续时间的任务感到有些困惑? 公共类工人:B
..
在 .Net 5 Web API 中,我想运行一个发送批量电子邮件和 SMS 的后台任务.我知道我可以创建一个从 BackgroundService 继承的服务,然后像这样在 Startup.ConfigureServices 方法中将它添加到 DI 容器中: services.AddHostedService(); 但这会立即运行服务 - 即在应用程序启动时.我想在 API 收到来自前端的请
..
我正在尝试构建一个小型 tcp 服务器/守护程序,将 asp.net 核心作为 Web 前端与服务器进行交互.我发现 IHostedService/BackgroundService 似乎提供了一种将服务器和前端捆绑在一起的低成本替代方案. 目前的代码基本上是这样的(用于测试目的的回声服务器): 公共类 Netcat : BackgroundService{受保护的覆盖异步任务 Exe
..
我有一个应用程序,它通常应该是一个简单的控制台应用程序,它被编程为 Windows 任务计划程序不时调用的计划任务. 程序应该在两个数据库上启动一些更新,每个数据库一个服务.假设 ContosoDatabase 应该由 ContosoService 更新. 最后,它被编写为 .NET Core 应用程序,使用可能不是最佳选择,IHostedServices 作为服务的基础,如下所示:
..
我需要在特定时间触发托管服务,例如.每天13:00.我的典型 ExecuteAsync 方法似乎是这样的: protected override async Task ExecuteAsync(CancellationTokentoppingToken){var 间隔 = _configuration.IntervalInSeconds * 1000;while (!stopingToken.I
..
我正在查看 .Net-Core 2.1 新功能 托管服务,我看到它们非常相似地建模为 QueueBackgroundWorkItem 队列后台工作项似乎有一个限制,即任务必须在 90 秒内执行 AppDomain 关闭只能延迟 90 秒(实际上是 HttpRuntimeSection.ShutdownTimeout 和 processModel shutdownTimeLimit 中的
..
我正在使用 .NET Core 中的 HostBuilder(而不是 WebHost!). 我的应用程序中运行了一个托管服务,该服务覆盖了后台服务的 ExecuteAsync/StopAsync 方法,我想对其进行单元测试. 这是我的托管服务: public class DeviceToCloudMessageHostedService : BackgroundService{私有只
..
我有一个要测试的 QueueTask 托管服务(.NET Core 的新后台服务).我的 queuedHosted 服务如下所示: public QueuedHostedService(IServiceProvider serviceProvider, IBackgroundTaskQueue taskQueue, ILoggerFactory loggerFactory){任务队列 = 任务队
..
在 ASP.NET Core 2.1 中注册自定义托管服务的正确方法是什么?例如,我有一个源自 BackgroundService 名为 MyHostedService.我应该如何注册? public IServiceProvider ConfigureServices(IServiceCollection services){//...services.AddSingleton();} 或
..