2
0

ScannerServiceCollectionExtensions.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  1. using FastGithub.Scanner;
  2. using Microsoft.Extensions.Configuration;
  3. using Microsoft.Extensions.DependencyInjection;
  4. namespace FastGithub
  5. {
  6. /// <summary>
  7. /// 服务注册扩展
  8. /// </summary>
  9. public static class ScannerServiceCollectionExtensions
  10. {
  11. /// <summary>
  12. /// 注册程序集下所有服务下选项
  13. /// </summary>
  14. /// <param name="services"></param>
  15. /// <param name="configuration">配置</param>
  16. /// <returns></returns>
  17. public static IServiceCollection AddGithubScanner(this IServiceCollection services, IConfiguration configuration)
  18. {
  19. var assembly = typeof(ScannerServiceCollectionExtensions).Assembly;
  20. return services
  21. .AddHttpClient()
  22. .AddServiceAndOptions(assembly, configuration)
  23. .AddHostedService<GithubFullScanHostedService>()
  24. .AddHostedService<GithubResultScanHostedService>()
  25. .AddSingleton<IGithubScanResults>(appService => appService.GetRequiredService<GithubContextCollection>());
  26. ;
  27. }
  28. }
  29. }