Exemple #1
0
        public static IHostBuilder CreateHostBuilder(string[] args, FtpUploaderOptions options) =>
        Host.CreateDefaultBuilder(args)
        .ConfigureLogging(loggingBuilder =>
        {
            loggingBuilder.ClearProviders();
#if DEBUG
            loggingBuilder.AddConsole();
            loggingBuilder.AddDebug();
#endif
            loggingBuilder.AddEventLog(eventLogSettings =>
            {
                eventLogSettings.SourceName = "Ftp Sync Service";
            });
        })
        .ConfigureServices((hostContext, services) =>
        {
            services.AddSingleton <FtpUploaderOptions>(options);

            services.AddScoped(sp =>
            {
                return(new FtpClient(options.Host, options.Port, options.User, options.Password));
            });

            services.AddHostedService <FtpUploaderService>();
        })
        .UseWindowsService();
 public FtpUploaderService(FtpUploaderOptions options, ILogger <FtpUploaderService> logger, IServiceScopeFactory serviceScopeFactory)
 {
     _options             = options;
     _logger              = logger;
     _serviceScopeFactory = serviceScopeFactory;
 }