DocSpace-client/common/services/ASC.Data.Backup/Startup.cs
2020-07-06 10:56:17 +03:00

56 lines
1.7 KiB
C#

using System;
using ASC.Api.Core;
using ASC.Common;
using ASC.Common.Logging;
using ASC.Common.Threading.Progress;
using ASC.Data.Backup.Controllers;
using ASC.Data.Backup.Service;
using ASC.Common.DependencyInjection;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace ASC.Data.Backup
{
public class Startup
{
public IConfiguration Configuration { get; }
public IHostEnvironment HostEnvironment { get; }
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
{
Configuration = configuration;
HostEnvironment = hostEnvironment;
}
public void ConfigureServices(IServiceCollection services) {
var diHelper = new DIHelper(services);
diHelper.AddBackupServiceLauncher()
.AddBackupController();
diHelper.AddNLogManager("ASC.Data.Backup");
services.AddHostedService<BackupServiceLauncher>();
diHelper.Configure<ProgressQueue<BaseBackupProgressItem>>(r =>
{
r.workerCount = 1;
r.waitInterval = (int)TimeSpan.FromMinutes(5).TotalMilliseconds;
r.removeAfterCompleted = true;
r.stopAfterFinsih = false;
r.errorCount = 0;
});
GeneralStartup.ConfigureServices(services, false, true);
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
}
public void Configure(IApplicationBuilder app)
{
GeneralStartup.Configure(app);
}
}
}