using FastGithub.Scanner; using FastGithub.Scanner.Middlewares; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using System.Threading.Tasks; namespace FastGithub { /// /// 服务注册扩展 /// public static class ScannerServiceCollectionExtensions { /// /// 注册程序集下所有服务下选项 /// /// /// 配置 /// public static IServiceCollection AddGithubScanner(this IServiceCollection services, IConfiguration configuration) { var assembly = typeof(ScannerServiceCollectionExtensions).Assembly; return services .AddHttpClient() .AddSingleton(serviceProvider => { return new GithubScanBuilder(serviceProvider, ctx => Task.CompletedTask) .Use() .Use() .Use() .Use() .Build(); }) .AddServiceAndOptions(assembly, configuration) .AddHostedService() .AddHostedService() ; } } }