Merge branch 'develop' into feature/connect-controlPanel

This commit is contained in:
pavelbannov 2020-11-03 11:48:52 +03:00
commit 450184f51c
43 changed files with 205 additions and 156 deletions

View File

@ -4,7 +4,6 @@ using ASC.Api.Core.Auth;
using ASC.Api.Core.Core;
using ASC.Api.Core.Middleware;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using Microsoft.AspNetCore.Authentication;
@ -100,8 +99,6 @@ namespace ASC.Api.Core
{
DIHelper.AddNLogManager(LogParams);
}
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
}
public virtual void Configure(IApplicationBuilder app, IWebHostEnvironment env)

View File

@ -28,9 +28,9 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="ARSoft.Tools.NetStandard.DXSdata" Version="1.0.0" />
<PackageReference Include="Autofac" Version="5.2.0" />
<PackageReference Include="Autofac.Configuration" Version="5.1.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="6.0.0" />
<PackageReference Include="Autofac" Version="6.0.0" />
<PackageReference Include="Autofac.Configuration" Version="6.0.0" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.1.0" />
<PackageReference Include="Confluent.Kafka" Version="1.4.3" />
<PackageReference Include="Google.Protobuf" Version="3.13.0" />
<PackageReference Include="Grpc" Version="2.32.0" />

View File

@ -6,11 +6,8 @@ using System.Runtime.Loader;
using Autofac;
using Autofac.Configuration;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
namespace ASC.Common.DependencyInjection
{
@ -26,7 +23,7 @@ namespace ASC.Common.DependencyInjection
public static class AutofacExtension
{
public static IContainer AddAutofac(this IServiceCollection services, IConfiguration configuration, string currentDir, bool loadproducts = true, bool loadconsumers = true, params string[] intern)
public static void Register(this ContainerBuilder builder, IConfiguration configuration, string currentDir, bool loadproducts = true, bool loadconsumers = true, params string[] intern)
{
var folder = configuration["core:products:folder"];
var subfolder = configuration["core:products:subfolder"];
@ -48,7 +45,6 @@ namespace ASC.Common.DependencyInjection
productsDir = folder;
}
var builder = new ContainerBuilder();
var modules = new List<(bool, string)>
{
(true, "autofac.json")
@ -88,13 +84,7 @@ namespace ASC.Common.DependencyInjection
}
}
builder.Populate(services);
var container = builder.Build();
services.TryAddSingleton(container);
return container;
return;
void FindAndLoad(IConfigurationSection sectionSettings)
{

View File

@ -25,7 +25,9 @@
using System.Collections.Generic;
using System.IO;
using System.IO;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
@ -43,6 +45,7 @@ namespace ASC.ApiSystem
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -28,7 +28,9 @@ using ASC.ApiSystem.Classes;
using ASC.ApiSystem.Controllers;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using ASC.Common.Logging;
using Autofac;
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Builder;
@ -81,8 +83,6 @@ namespace ASC.ApiSystem
.AddRegistrationController()
.AddSettingsController()
.AddTariffController();
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath, false);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
@ -114,6 +114,10 @@ namespace ASC.ApiSystem
{
endpoints.MapControllers();
});
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath, false);
}
}
}

View File

@ -2,6 +2,8 @@
using System.IO;
using System.Threading.Tasks;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -12,7 +14,8 @@ namespace ASC.Data.Backup
{
public static async Task Main(string[] args)
{
await Host.CreateDefaultBuilder(args)
await Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -1,10 +1,13 @@
using System;
using ASC.Api.Core;
using ASC.Common;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Data.Backup.Controllers;
using ASC.Data.Backup.Service;
using Autofac;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -29,6 +32,11 @@ namespace ASC.Data.Backup
.AddProgressQueue<BaseBackupProgressItem>(1, (int)TimeSpan.FromMinutes(5).TotalMilliseconds, true, false, 0);
services.AddHostedService<BackupServiceLauncher>();
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath);
}
}
}

View File

@ -24,8 +24,10 @@
*/
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -36,7 +38,8 @@ namespace ASC.Data.Storage.Encryption
{
public static async Task Main(string[] args)
{
await Host.CreateDefaultBuilder(args)
await Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -24,10 +24,10 @@
*/
using ASC.Api.Core;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common;
using ASC.Common.DependencyInjection;
using Autofac.Extensions.DependencyInjection;
using Autofac;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@ -51,8 +51,11 @@ namespace ASC.Data.Storage.Encryption
DIHelper.AddEncryptionServiceLauncher();
services.AddHostedService<EncryptionServiceLauncher>();
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath);
}
}
}

View File

@ -5,8 +5,10 @@ using System.Threading.Tasks;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using ASC.Core.Common;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -17,7 +19,8 @@ namespace ASC.Data.Storage.Migration
{
public static async Task Main(string[] args)
{
await Host.CreateDefaultBuilder(args)
await Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -52,8 +55,10 @@ namespace ASC.Data.Storage.Migration
diHelper.AddMigrationServiceLauncher();
services.AddHostedService<MigrationServiceLauncher>();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath);
})
.UseConsoleLifetime()
.Build()

View File

@ -461,18 +461,9 @@ namespace ASC.ElasticSearch
FactoryIndexerHelper factoryIndexerHelper,
Client client,
IOptionsMonitor<ILog> options,
CoreBaseSettings coreBaseSettings) : this(null, factoryIndexerHelper, client, options, coreBaseSettings)
{
Builder = container;
}
public FactoryIndexer(
IContainer container,
FactoryIndexerHelper factoryIndexerHelper,
Client client,
IOptionsMonitor<ILog> options,
CoreBaseSettings coreBaseSettings)
{
Builder = container;
FactoryIndexerHelper = factoryIndexerHelper;
Client = client;
CoreBaseSettings = coreBaseSettings;

View File

@ -48,7 +48,7 @@ namespace ASC.ElasticSearch
private ICacheNotify<AscCacheItem> Notify { get; }
private ICacheNotify<IndexAction> IndexNotify { get; }
private IServiceProvider ServiceProvider { get; }
public IContainer Container { get; }
public ILifetimeScope Container { get; }
private bool IsStarted { get; set; }
private CancellationTokenSource CancellationTokenSource { get; set; }
private Timer Timer { get; set; }
@ -59,7 +59,7 @@ namespace ASC.ElasticSearch
ICacheNotify<AscCacheItem> notify,
ICacheNotify<IndexAction> indexNotify,
IServiceProvider serviceProvider,
IContainer container,
ILifetimeScope container,
Settings settings)
{
Log = options.Get("ASC.Indexer");

View File

@ -42,11 +42,11 @@ namespace ASC.ElasticSearch.Service
{
public class Service
{
public IContainer Container { get; }
private ILifetimeScope Container { get; }
private IServiceProvider ServiceProvider { get; }
private ICacheNotify<ReIndexAction> CacheNotify { get; }
public Service(IContainer container, IServiceProvider serviceProvider, ICacheNotify<ReIndexAction> cacheNotify)
public Service(ILifetimeScope container, IServiceProvider serviceProvider, ICacheNotify<ReIndexAction> cacheNotify)
{
Container = container;
ServiceProvider = serviceProvider;

View File

@ -63,12 +63,12 @@ namespace ASC.Feed.Aggregator
private IConfiguration Configuration { get; }
private IServiceProvider ServiceProvider { get; }
public IContainer Container { get; }
public ILifetimeScope Container { get; }
public FeedAggregatorService(
IConfiguration configuration,
IServiceProvider serviceProvider,
IContainer container,
ILifetimeScope container,
IOptionsMonitor<ILog> optionsMonitor,
SignalrServiceClient signalrServiceClient,
IConfigureNamedOptions<SignalrServiceClient> configureOptions)

View File

@ -31,7 +31,6 @@ using System.Threading.Tasks;
using ASC.Common;
using ASC.Common.Logging;
using ASC.Core.Common;
using ASC.Notify.Config;
using ASC.Web.Core;
using ASC.Web.Studio.Core.Notify;

View File

@ -5,11 +5,13 @@ using System.Threading.Tasks;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using ASC.Core.Common;
using ASC.Core.Notify;
using ASC.Core.Notify.Senders;
using ASC.Notify.Config;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -22,6 +24,7 @@ namespace ASC.Notify
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -65,8 +68,10 @@ namespace ASC.Notify
.AddSmtpSenderService()
.AddAWSSenderService()
.AddEmailSenderSinkService();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath);
})
.UseConsoleLifetime()
.Build();

View File

@ -28,10 +28,13 @@ using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using ASC.Common;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using ASC.Common.Logging;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -43,7 +46,8 @@ namespace ASC.Socket.IO.Svc
{
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -77,8 +81,10 @@ namespace ASC.Socket.IO.Svc
diHelper.AddNLogManager("ASC.Socket.IO.Svc");
services.AddHostedService<SocketServiceLauncher>();
diHelper.AddSocketServiceLauncher();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath, false, false);
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath, false, false);
})
.UseConsoleLifetime()
.Build();

View File

@ -40,8 +40,6 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using WebSocketSharp;
namespace ASC.Socket.IO.Svc
{
public class SocketServiceLauncher : IHostedService

View File

@ -8,6 +8,9 @@ using ASC.Common.Logging;
using ASC.Core.Notify;
using ASC.Notify;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -19,6 +22,7 @@ namespace ASC.Studio.Notify
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -52,7 +56,10 @@ namespace ASC.Studio.Notify
services.AddHostedService<ServiceLauncher>();
diHelper.AddServiceLauncher();
diHelper.AddEmailSenderSinkService();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath);
})
.UseConsoleLifetime()
.Build();

View File

@ -24,8 +24,10 @@
*/
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using System.Threading.Tasks;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -36,7 +38,8 @@ namespace ASC.TelegramService
{
public static async Task Main(string[] args)
{
await Host.CreateDefaultBuilder(args)
await Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -25,9 +25,9 @@
using ASC.Api.Core;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.DependencyInjection;
using Autofac.Extensions.DependencyInjection;
using Autofac;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@ -51,8 +51,11 @@ namespace ASC.TelegramService
DIHelper.AddTelegramLauncher();
services.AddHostedService<TelegramLauncher>();
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath);
}
}
}

View File

@ -27,11 +27,14 @@
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -43,7 +46,8 @@ namespace ASC.Thumbnails.Svc
{
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -76,8 +80,10 @@ namespace ASC.Thumbnails.Svc
diHelper.AddNLogManager("ASC.Thumbnails.Svc");
services.AddHostedService<ThumbnailsServiceLauncher>();
diHelper.AddThumbnailsServiceLauncher();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath, false, false);
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath, false, false);
})
.UseConsoleLifetime()
.Build();

View File

@ -28,10 +28,13 @@ using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using ASC.Common;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Common.Logging;
using ASC.Common.Logging;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -43,7 +46,8 @@ namespace ASC.UrlShortener.Svc
{
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -75,8 +79,10 @@ namespace ASC.UrlShortener.Svc
diHelper.AddNLogManager("ASC.UrlShortener.Svc");
services.AddHostedService<UrlShortenerServiceLauncher>();
diHelper.AddUrlShortenerServiceLauncher();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath, false, false);
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath, false, false);
})
.UseConsoleLifetime()
.Build();

View File

@ -19,7 +19,7 @@
<meta name="mobile-web-app-capable" content="yes" />
<!-- Tell iOS it's a PWA -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon" href="icon.png" />
<link rel="apple-touch-icon" href="appIcon.png" />
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i"

View File

@ -90,10 +90,6 @@ namespace ASC.Api.Documents
private UserManager UserManager { get; }
private CoreBaseSettings CoreBaseSettings { get; }
private ThirdpartyConfiguration ThirdpartyConfiguration { get; }
private BoxLoginProvider BoxLoginProvider { get; }
private DropboxLoginProvider DropboxLoginProvider { get; }
private GoogleLoginProvider GoogleLoginProvider { get; }
private OneDriveLoginProvider OneDriveLoginProvider { get; }
private MessageService MessageService { get; }
private CommonLinkUtility CommonLinkUtility { get; }
private DocumentServiceConnector DocumentServiceConnector { get; }
@ -150,10 +146,6 @@ namespace ASC.Api.Documents
CoreBaseSettings = coreBaseSettings;
ThirdpartyConfiguration = thirdpartyConfiguration;
ConsumerFactory = consumerFactory;
BoxLoginProvider = ConsumerFactory.Get<BoxLoginProvider>();
DropboxLoginProvider = ConsumerFactory.Get<DropboxLoginProvider>();
GoogleLoginProvider = ConsumerFactory.Get<GoogleLoginProvider>();
OneDriveLoginProvider = ConsumerFactory.Get<OneDriveLoginProvider>();
MessageService = messageService;
CommonLinkUtility = commonLinkUtility;
DocumentServiceConnector = documentServiceConnector;
@ -1357,19 +1349,25 @@ namespace ASC.Api.Documents
if (ThirdpartyConfiguration.SupportBoxInclusion)
{
result.Add(new List<string> { "Box", BoxLoginProvider.ClientID, BoxLoginProvider.RedirectUri });
var boxLoginProvider = ConsumerFactory.Get<BoxLoginProvider>();
result.Add(new List<string> { "Box", boxLoginProvider.ClientID, boxLoginProvider.RedirectUri });
}
if (ThirdpartyConfiguration.SupportDropboxInclusion)
{
result.Add(new List<string> { "DropboxV2", DropboxLoginProvider.ClientID, DropboxLoginProvider.RedirectUri });
var dropboxLoginProvider = ConsumerFactory.Get<DropboxLoginProvider>();
result.Add(new List<string> { "DropboxV2", dropboxLoginProvider.ClientID, dropboxLoginProvider.RedirectUri });
}
if (ThirdpartyConfiguration.SupportGoogleDriveInclusion)
{
result.Add(new List<string> { "GoogleDrive", GoogleLoginProvider.ClientID, GoogleLoginProvider.RedirectUri });
var googleLoginProvider = ConsumerFactory.Get<GoogleLoginProvider>();
result.Add(new List<string> { "GoogleDrive", googleLoginProvider.ClientID, googleLoginProvider.RedirectUri });
}
if (ThirdpartyConfiguration.SupportOneDriveInclusion)
{
result.Add(new List<string> { "OneDrive", OneDriveLoginProvider.ClientID, OneDriveLoginProvider.RedirectUri });
var oneDriveLoginProvider = ConsumerFactory.Get<OneDriveLoginProvider>();
result.Add(new List<string> { "OneDrive", oneDriveLoginProvider.ClientID, oneDriveLoginProvider.RedirectUri });
}
if (ThirdpartyConfiguration.SupportSharePointInclusion)
{

View File

@ -1,6 +1,8 @@
using System.Collections.Generic;
using System.IO;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -17,6 +19,7 @@ namespace ASC.Files
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -1,4 +1,3 @@
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;

View File

@ -11,6 +11,9 @@ using ASC.Feed.Aggregator;
using ASC.Web.Files.Core.Search;
using ASC.Web.Files.Utils;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -22,6 +25,7 @@ namespace ASC.Files.Service
public static async Task Main(string[] args)
{
var host = Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureAppConfiguration((hostContext, config) =>
{
var buided = config.Build();
@ -65,8 +69,10 @@ namespace ASC.Files.Service
services.AddHostedService<FeedAggregatorService>();
diHelper
.AddFeedAggregatorService();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath, true, false, "search.json", "feed.json");
})
.ConfigureContainer<ContainerBuilder>((context, builder) =>
{
builder.Register(context.Configuration, context.HostingEnvironment.ContentRootPath, true, false, "search.json", "feed.json");
})
.UseConsoleLifetime()
.Build();

View File

@ -19,7 +19,7 @@
<meta name="mobile-web-app-capable" content="yes" />
<!-- Tell iOS it's a PWA -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon" href="icon.png" />
<link rel="apple-touch-icon" href="appIcon.png" />
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i"

View File

@ -1,6 +1,8 @@
using System.Collections.Generic;
using System.IO;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -17,6 +19,7 @@ namespace ASC.People
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -2,11 +2,14 @@
using System;
using ASC.Api.Core;
using ASC.Common;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Data.Reassigns;
using ASC.Employee.Core.Controllers;
using ASC.Web.Core.Users;
using Autofac;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@ -33,6 +36,11 @@ namespace ASC.People
DIHelper
.AddPeopleController()
.AddGroupController();
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath);
}
}
}

View File

@ -2,14 +2,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ASC.Common.Logging;
using ASC.Core;
using ASC.Core.Common.Settings;
using ASC.FederatedLogin;
using ASC.FederatedLogin.LoginProviders;
using ASC.Web.Api.Models;
using ASC.Web.Api.Routing;

View File

@ -8,7 +8,6 @@ using ASC.Common;
using ASC.Common.Logging;
using ASC.Core;
using ASC.Core.Billing;
using ASC.Core.Common.Notify.Push;
using ASC.Core.Common.Settings;
using ASC.Core.Tenants;
using ASC.Core.Users;

View File

@ -351,7 +351,7 @@ namespace ASC.Api.Settings
MessageService.Send(MessageAction.AdministratorMessageSettingsUpdated);
return Resource.SuccessfullySaveSettingsMessage;
return Resource.SuccessfullySaveSettingsMessage;
}
[AllowAnonymous]
@ -446,23 +446,23 @@ namespace ASC.Api.Settings
switch (Tenant.TrustedDomainsType)
{
case TenantTrustedDomainsType.Custom:
{
var address = new MailAddress(email);
if (Tenant.TrustedDomains.Any(d => address.Address.EndsWith("@" + d, StringComparison.InvariantCultureIgnoreCase)))
{
StudioNotifyService.SendJoinMsg(email, emplType);
MessageService.Send(MessageInitiator.System, MessageAction.SentInviteInstructions, email);
return Resource.FinishInviteJoinEmailMessage;
}
throw new Exception(Resource.ErrorEmailDomainNotAllowed);
}
case TenantTrustedDomainsType.All:
{
var address = new MailAddress(email);
if (Tenant.TrustedDomains.Any(d => address.Address.EndsWith("@" + d, StringComparison.InvariantCultureIgnoreCase)))
{
StudioNotifyService.SendJoinMsg(email, emplType);
MessageService.Send(MessageInitiator.System, MessageAction.SentInviteInstructions, email);
return Resource.FinishInviteJoinEmailMessage ;
return Resource.FinishInviteJoinEmailMessage;
}
throw new Exception(Resource.ErrorEmailDomainNotAllowed);
}
case TenantTrustedDomainsType.All:
{
StudioNotifyService.SendJoinMsg(email, emplType);
MessageService.Send(MessageInitiator.System, MessageAction.SentInviteInstructions, email);
return Resource.FinishInviteJoinEmailMessage;
}
default:
throw new Exception(Resource.ErrorNotCorrectEmail);
}

View File

@ -1,10 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
namespace ASC.Web.Api.Models
{

View File

@ -1,6 +1,8 @@
using System.Collections.Generic;
using System.IO;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -18,6 +20,7 @@ namespace ASC.Web.Api
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

View File

@ -3,9 +3,9 @@ using ASC.Api.Core;
using ASC.Api.Settings;
using ASC.Common;
using ASC.Common.DependencyInjection;
using ASC.Web.Api.Controllers;
using ASC.Web.Api.Controllers;
using Autofac.Extensions.DependencyInjection;
using Autofac;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
@ -27,7 +27,9 @@ namespace ASC.Web.Api
{
base.ConfigureServices(services);
services.AddMemoryCache();
services.AddMemoryCache();
services.AddOptions();
DIHelper
.AddAuthenticationController()
@ -35,10 +37,12 @@ namespace ASC.Web.Api
.AddPortalController()
.AddSettingsController()
.AddSecurityController()
.AddSmtpSettingsController();
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
.AddSmtpSettingsController();
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath);
}
}
}

View File

@ -19,7 +19,7 @@
<meta name="mobile-web-app-capable" content="yes" />
<!-- Tell iOS it's a PWA -->
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon" href="icon.png" />
<link rel="apple-touch-icon" href="appIcon.png" />
<link
href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i"
rel="stylesheet"

View File

@ -35,7 +35,6 @@ using ASC.Common;
using ASC.Common.Logging;
using ASC.Common.Notify.Engine;
using ASC.Core;
using ASC.Core.Common;
using ASC.Core.Common.Settings;
using ASC.Core.Tenants;
using ASC.Core.Users;

View File

@ -1,6 +1,4 @@
using System;
using System.Linq;
using System.Web;
using System.Linq;
using ASC.Common;
using ASC.Common.Caching;
@ -11,8 +9,6 @@ using ASC.Notify.Recipients;
using ASC.Web.Studio.Core.Notify;
using ASC.Web.Studio.Utility;
using Microsoft.AspNetCore.Http;
namespace ASC.Web.Core.Notify
{
public class StudioNotifyServiceHelper

View File

@ -117,7 +117,7 @@ namespace ASC.Web.Core
}
}
public WebItemManager(IContainer container, IConfiguration configuration, IOptionsMonitor<ILog> options)
public WebItemManager(ILifetimeScope container, IConfiguration configuration, IOptionsMonitor<ILog> options)
{
Container = container;
Configuration = configuration;
@ -126,13 +126,6 @@ namespace ASC.Web.Core
LoadItems();
}
public WebItemManager(ILifetimeScope container, IConfiguration configuration, IOptionsMonitor<ILog> options)
: this(null, configuration, options)
{
Container = container;
LoadItems();
}
public void LoadItems()
{
if (Container == null) return;

View File

@ -1,6 +1,8 @@
using System.Collections.Generic;
using System.IO;
using Autofac.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
@ -17,6 +19,7 @@ namespace ASC.Web.Studio
public static IHostBuilder CreateWebHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(w =>
{
w.UseStartup<Startup>();
@ -33,7 +36,7 @@ namespace ASC.Web.Studio
config
.AddInMemoryCollection(new Dictionary<string, string>
{
{"pathToConf", path}
{"pathToConf", path}
})
.AddJsonFile("appsettings.json")
.AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true)

View File

@ -6,6 +6,8 @@ using ASC.Data.Storage.Configuration;
using ASC.Data.Storage.DiscStorage;
using ASC.FederatedLogin;
using Autofac;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpOverrides;
@ -37,15 +39,16 @@ namespace ASC.Web.Studio
.AddStorageHandlerService()
.AddLoginHandlerService();
services.AddMemoryCache();
services.AddMemoryCache();
}
services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
}
public void ConfigureContainer(ContainerBuilder builder)
{
builder.Register(Configuration, HostEnvironment.ContentRootPath);
}
public override void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto