我正在尝试使用HangFire来计划实现我称为IScheduledService
的特定接口的任何类。这些服务按预期运行,但是HangFire UI在HangFire仪表板PerformService()
中始终为每个服务显示相同的名称。我知道这是设计使然,因为我将相同的函数名称传递给每个作业,但是用户并不真正知道正在运行的特定作业。
我使用ServiceName
创建了接口,因为我认为可以将其传递到HangFire中以覆盖可见的作业名称,而不是被调用的函数名称,但是看不到修改接口的功能。工作名称。有没有一种方法可以提供自定义的作业名称,以便HangFire用户界面根据ServiceName
属性的值显示每个作业的标题?
public interface IScheduledService
{
string ServiceId { get; }
string ServiceName { get; }
void PerformService();
}
public class Service1 : IScheduledService
{
public string ServiceId { get => "e56643b1-f0cf-44b2-81ef-bf7a085de760"; }
public string ServiceName { get => this.GetType().Name; }
public void PerformService()
{
Console.WriteLine($"Hello world from {ServiceName}");
}
}