asp.net-core-hosted-services相关内容

在服务结构内运行后台任务-ASP.NET核心托管服务还是使用StatelessService.RunAsync()?

我们有微服务在Azure服务结构中运行,我们有一个需要每15分钟运行一次的后台任务,以执行一些与数据库相关的操作。我看到两个选项。 使用StatelessService.RunAsync方法并在相关微服务之一下实现后台任务。 使用HostedService和Do Service.AddHostedService实现逻辑。相关微服务的启动.cs中的ConfigureServices方法中 ..

重写 IHostedService 以在所有任务完成后停止

我有一个应用程序,它通常应该是一个简单的控制台应用程序,它被编程为 Windows 任务计划程序不时调用的计划任务. 程序应该在两个数据库上启动一些更新,每个数据库一个服务.假设 ContosoDatabase 应该由 ContosoService 更新. 最后,它被编写为 .NET Core 应用程序,使用可能不是最佳选择,IHostedServices 作为服务的基础,如下所示: ..

.NET Core IHostedService 抛出“一个任务被取消";立即地

我正在尝试在我的 .NET Core 3.1 应用程序中构建一个每小时运行的服务.我的服务每小时运行一次(即在 StartAsync() 中遇到断点),但实现立即抛出以下错误: 任务被取消 我已经搜索了很多,但是我很难找到有用的回复;似乎这些在使用 HttpClient 时最常见,这与我的情况无关. 也就是说,我有一种预感,我应该等待某事,但是我尝试添加 await 导致应用程序 ..
发布时间:2021-11-24 20:12:13 C#/.NET

.NET Core IHostedService 抛出“一个任务被取消";立即地

我正在尝试在我的 .NET Core 3.1 应用程序中构建一个每小时运行的服务.我的服务每小时运行一次(即在 StartAsync() 中遇到断点),但实现立即抛出以下错误: 任务被取消 我已经搜索了很多,但是我很难找到有用的回复;似乎这些在使用 HttpClient 时最常见,这与我的情况无关. 也就是说,我有一种预感,我应该等待某事,但是我尝试添加 await 导致应用程序 ..
发布时间:2021-11-24 20:05:02 C#/.NET

防止 IIS 在运行后台任务时出现空闲超时

在我们的 ASP.Net Core Web API 中,我们使用 Hosted Services 来执行一些后台任务.有时可能这些后台任务需要很长时间才能完成(大约一个小时).除非有长时间运行的任务,否则一切都可以无缝运行. IIS 应用程序池的空闲超时默认值为 20 分钟.因此,当 20 分钟内没有请求时,IIS 会重新启动应用程序池.但有时,后台任务可能会运行并且 IIS 重新启动,而不 ..

防止 IIS 在运行后台任务时出现空闲超时

在我们的 ASP.Net Core Web API 中,我们使用 Hosted Services 来执行一些后台任务.有时可能这些后台任务需要很长时间才能完成(大约一个小时).除非有长时间运行的任务,否则一切都可以无缝运行. IIS 应用程序池的空闲超时默认值为 20 分钟.因此,当 20 分钟内没有请求时,IIS 会重新启动应用程序池.但有时,后台任务可能会运行并且 IIS 重新启动,而不 ..

如何在具有不同计时器持续时间的.net core 后台服务中运行多个任务

我正在创建一个工作服务,它将作为 Windows 服务运行.我有一个需求,我想调用两个可能有不同计时器的任务. 说 DoWork 应该每 5 分钟调用一次,DoAnotherWork 应该每 10 分钟左右调用一次.这两个任务可以并行运行,互不依赖. 我能够创建任务 DoWork,它可以每 5 分钟运行一次.我对如何实现另一个具有不同计时器持续时间的任务感到有些困惑? 公共类工人:B ..
发布时间:2021-11-24 17:11:10 C#/.NET

如何按需运行后台服务 - 而不是在应用程序启动或计时器上

在 .Net 5 Web API 中,我想运行一个发送批量电子邮件和 SMS 的后台任务.我知道我可以创建一个从 BackgroundService 继承的服务,然后像这样在 Startup.ConfigureServices 方法中将它添加到 DI 容器中: services.AddHostedService(); 但这会立即运行服务 - 即在应用程序启动时.我想在 API 收到来自前端的请 ..

.NET Core 中 tcp 服务器的 IHostedService

我正在尝试构建一个小型 tcp 服务器/守护程序,将 asp.net 核心作为 Web 前端与服务器进行交互.我发现 IHostedService/BackgroundService 似乎提供了一种将服​​务器和前端捆绑在一起的低成本替代方案. 目前的代码基本上是这样的(用于测试目的的回声服务器): 公共类 Netcat : BackgroundService{受保护的覆盖异步任务 Exe ..

重写 IHostedService 以在所有任务完成后停止

我有一个应用程序,它通常应该是一个简单的控制台应用程序,它被编程为 Windows 任务计划程序不时调用的计划任务. 程序应该在两个数据库上启动一些更新,每个数据库一个服务.假设 ContosoDatabase 应该由 ContosoService 更新. 最后,它被编写为 .NET Core 应用程序,使用可能不是最佳选择,IHostedServices 作为服务的基础,如下所示: ..