小编Kha*_*san的帖子

在 .Net 5 的工作服务中配置 Hangfire 仪表板?

我正在使用 Hangfire 来安排我的工作人员服务中的作业,并希望使用 Hangfire 仪表板。但似乎没有办法配置这个。所有文档都使用 Startup 类,但我的工作服务中没有任何启动。另外,.Net 5 不支持 OWIN NuGet 包。这是我尝试过的,

            var hostBuilder = CreateHostBuilder(args)
                .Build();

            var services = hostBuilder.Services;
            var applicationBuilder = new ApplicationBuilder(services);

            applicationBuilder.UseRouting();

            applicationBuilder.UseHangfireDashboard("/hangfire");

            applicationBuilder.UseEndpoints(endpoints =>
            {
                endpoints.MapHangfireDashboard();
            });

            hostBuilder.Run();
Run Code Online (Sandbox Code Playgroud)

我已经像这样配置了hangfire,

                 services.AddHangfire(configuration => configuration
                    .SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
                    .UseSimpleAssemblyNameTypeSerializer()
                    .UseRecommendedSerializerSettings()
                    .UseSqlServerStorage("connection string",
                    {
                        CommandBatchMaxTimeout = TimeSpan.FromMinutes(5),
                        SlidingInvisibilityTimeout = TimeSpan.FromMinutes(5),
                        QueuePollInterval = TimeSpan.Zero,
                        UseRecommendedIsolationLevel = true,
                        DisableGlobalLocks = true
                    }));

                // Add the processing server as IHostedService
                services.AddHangfireServer();
Run Code Online (Sandbox Code Playgroud)

请注意,在当前的实现中,我可以通过hangfire 来安排和执行作业,我现在需要的只是配置hangfire 仪表板。

c# hangfire .net-core worker-service

2
推荐指数
1
解决办法
4107
查看次数

标签 统计

.net-core ×1

c# ×1

hangfire ×1

worker-service ×1