FastGithub/FastGithub.Scanner/ScannerServiceCollectionExtensions.cs
2021-06-17 21:13:58 +08:00

30 lines
1.1 KiB
C#

using FastGithub.Scanner;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace FastGithub
{
/// <summary>
/// 服务注册扩展
/// </summary>
public static class ScannerServiceCollectionExtensions
{
/// <summary>
/// 注册程序集下所有服务下选项
/// </summary>
/// <param name="services"></param>
/// <param name="configuration">配置</param>
/// <returns></returns>
public static IServiceCollection AddGithubScanner(this IServiceCollection services, IConfiguration configuration)
{
var assembly = typeof(ScannerServiceCollectionExtensions).Assembly;
return services
.AddServiceAndOptions(assembly, configuration)
.AddHostedService<GithubFullScanHostedService>()
.AddHostedService<GithubResultScanHostedService>()
.AddSingleton<IGithubScanResults>(appService => appService.GetRequiredService<GithubContextCollection>());
;
}
}
}