2024-11-15 16:45:01 +08:00
|
|
|
|
using Volo.Abp.BackgroundWorkers.Hangfire;
|
|
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
|
|
|
2024-11-15 18:17:53 +08:00
|
|
|
|
namespace Yi.Framework.BackgroundWorkers.Hangfire;
|
2024-11-15 16:45:01 +08:00
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Hangfire 后台任务约定注册器
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public sealed class YiHangfireConventionalRegistrar : DefaultConventionalRegistrar
|
2024-11-15 16:45:01 +08:00
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 检查类型是否禁用约定注册
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="type">要检查的类型</param>
|
|
|
|
|
|
/// <returns>如果类型不是 IHangfireBackgroundWorker 或已被禁用则返回 true</returns>
|
2024-11-15 16:45:01 +08:00
|
|
|
|
protected override bool IsConventionalRegistrationDisabled(Type type)
|
|
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
return !typeof(IHangfireBackgroundWorker).IsAssignableFrom(type) ||
|
|
|
|
|
|
base.IsConventionalRegistrationDisabled(type);
|
2024-11-15 16:45:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 获取要暴露的服务类型列表
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="type">实现类型</param>
|
|
|
|
|
|
/// <returns>服务类型列表</returns>
|
2024-11-15 16:45:01 +08:00
|
|
|
|
protected override List<Type> GetExposedServiceTypes(Type type)
|
|
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
return new List<Type>
|
|
|
|
|
|
{
|
|
|
|
|
|
typeof(IHangfireBackgroundWorker)
|
|
|
|
|
|
};
|
2024-11-15 16:45:01 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|