ASP.NETCoreMVCWeb项目在IIS中作为定时任务和/或长期运行任务使用是否可行?
创始人
2024-09-18 01:30:53
0

ASP.NET Core 应用程序可以使用 .NET Core 的宿主化模型。您可以使用 IHostedService 实现实现长时间运行的后台任务,该服务可以运行在 .NET Core 宿主的进程中。为此,请遵循以下步骤:

1.创建具有 IHostedService 实现的服务类。

示例代码如下:

public class BackgroundService : IHostedService, IDisposable
{
    private Timer timer;

    public Task StartAsync(CancellationToken cancellationToken)
    {
        timer = new Timer(DoWork, null, TimeSpan.Zero, TimeSpan.FromSeconds(5));
        return Task.CompletedTask;
    }

    private void DoWork(object state)
    {
        // Do your long running task here
    }

    public Task StopAsync(CancellationToken cancellationToken)
    {
        timer?.Change(Timeout.Infinite, 0);
        return Task.CompletedTask;
    }

    public void Dispose()
    {
        timer?.Dispose();
    }
}

2.将服务类注册到 ASP.NET Core 应用程序的依赖注入容器中。

示例代码如下:

services.AddSingleton();

3.在应用程序启动时,IHostedService 实现的 StartAsync 方法将被调用。

当应用程序关闭时,IHostedService 实现的 StopAsync 方法将被调用。

您可以在应用程序的 StartUp.cs 文件中注册服务类:

using Microsoft.Extensions.Hosting;
using System.Threading.Tasks;

public class Program
{
    public static async Task Main(string[] args)
    {
        await CreateHostBuilder(args).Build().RunAsync();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService();
            });
}

现在,您的 ASP.NET Core Web 项目中已创建了一个后台服务来执行长时间运行的任务。

相关内容

热门资讯

玩家必备攻略!德州透视hhpo... 玩家必备攻略!德州透视hhpoker,wpk俱乐部是做什么的,真是是真的有挂(有挂秘诀)所有人都在同...
9分钟了解!拱趴大菠萝有什么挂... 9分钟了解!拱趴大菠萝有什么挂,hhpoker免费辅助器,本来真的有挂(竟然有挂)9分钟了解!拱趴大...
每日必备!德州局透视,如何判断... 每日必备!德州局透视,如何判断wpk辅助软件的真假,真是存在有挂(有挂存在)1、下载好脚本下载之后点...
推荐十款!hhpoker智能辅... 推荐十款!hhpoker智能辅助插件,hhpoker免费透视脚本,好像是有挂(发现有挂)1、游戏颠覆...
普及知识!哈糖大菠萝有挂吗,a... 普及知识!哈糖大菠萝有挂吗,aa poker透视软件,好像真的有挂(有挂实锤)1、金币登录送、破产送...
我来教教你!wpk辅助插件,佛... 我来教教你!wpk辅助插件,佛手在线大菠萝辅助,本来存在有挂(有挂透视)运佛手在线大菠萝辅助辅助工具...
分辨真假!pokernow辅助... 分辨真假!pokernow辅助控制,wepoker好友助力码,一贯有挂(有挂分析)小薇(辅助器软件下...
最新技巧!fishpoker透... 最新技巧!fishpoker透视底牌,wpk透视辅助靠谱吗,总是是真的有挂(有挂秘笈)1、最新技巧!...
三分钟了解!wpk有作弊吗,有... 三分钟了解!wpk有作弊吗,有哪些免费的wpk作弊码,总是真的是有挂(有挂细节)在进入软件靠谱后,参...
带你了解!wpk私人局辅助是真... 带你了解!wpk私人局辅助是真的吗,sohoo辅助,总是真的是有挂(证实有挂)1、玩家可以在线上大神...