This commit is contained in:
pavelbannov 2020-10-28 23:02:03 +03:00
parent 51f1f92307
commit 3256a3dbc7
11 changed files with 16 additions and 96 deletions

View File

@ -112,18 +112,6 @@ namespace ASC.Common
ServiceCollection = serviceCollection;
}
public bool TryAddScoped<TService>() where TService : class
{
var serviceName = $"{typeof(TService)}";
if (!Scoped.Contains(serviceName))
{
Scoped.Add(serviceName);
ServiceCollection.TryAddScoped<TService>();
return true;
}
return false;
}
public bool TryAdd<TService>() where TService : class
{
return TryAdd(typeof(TService));
@ -379,31 +367,6 @@ namespace ASC.Common
return false;
}
public bool TryAddScoped<TService, TImplementation>() where TService : class where TImplementation : class, TService
{
var serviceName = $"{typeof(TService)}{typeof(TImplementation)}";
if (!Scoped.Contains(serviceName))
{
Scoped.Add(serviceName);
ServiceCollection.TryAddScoped<TService, TImplementation>();
return true;
}
return false;
}
public DIHelper TryAddSingleton<TService>() where TService : class
{
var serviceName = $"{typeof(TService)}";
if (!Singleton.Contains(serviceName))
{
Singleton.Add(serviceName);
ServiceCollection.TryAddSingleton<TService>();
}
return this;
}
public DIHelper TryAddSingleton<TService>(Func<IServiceProvider, TService> implementationFactory) where TService : class
{
@ -429,18 +392,6 @@ namespace ASC.Common
return this;
}
public DIHelper AddSingleton<TService, TImplementation>() where TService : class where TImplementation : class, TService
{
var serviceName = $"{typeof(TService)}{typeof(TImplementation)}";
if (!Singleton.Contains(serviceName))
{
Singleton.Add(serviceName);
ServiceCollection.AddSingleton<TService, TImplementation>();
}
return this;
}
public DIHelper TryAddSingleton<TService, TImplementation>(TService tservice, TImplementation tImplementation) where TService : Type where TImplementation : Type
{
var serviceName = $"{tservice}{tImplementation}";

View File

@ -177,6 +177,8 @@ namespace ASC.Core
public static void Register(DIHelper dIHelper)
{
dIHelper.TryAdd<TelegramHelper>();
dIHelper.TryAdd<EmailSenderSinkScope>();
dIHelper.TryAdd<JabberSenderSinkScope>();
}
}
}

View File

@ -84,8 +84,9 @@ namespace ASC.Core.Common.EF
{
public static DIHelper AddDbContextManagerService<T>(this DIHelper services) where T : BaseDbContext, new()
{
services.TryAddScoped<MultiRegionalDbContextManager<T>>();
services.TryAddScoped<IConfigureOptions<MultiRegionalDbContext<T>>, ConfigureMultiRegionalDbContext<T>>();
//TODO
//services.TryAddScoped<MultiRegionalDbContextManager<T>>();
//services.TryAddScoped<IConfigureOptions<MultiRegionalDbContext<T>>, ConfigureMultiRegionalDbContext<T>>();
return services;
}
}

View File

@ -166,7 +166,8 @@ namespace ASC.Core.Notify
return m;
}
}
[Scope]
public class EmailSenderSinkScope
{
private TenantManager TenantManager { get; }
@ -185,13 +186,4 @@ namespace ASC.Core.Notify
(tenantManager, coreConfiguration, optionsMonitor) = (TenantManager, CoreConfiguration, Options);
}
}
public static class EmailSenderSinkExtension
{
public static DIHelper AddEmailSenderSinkService(this DIHelper services)
{
services.TryAddScoped<EmailSenderSinkScope>();
return services;
}
}
}

View File

@ -88,7 +88,8 @@ namespace ASC.Core.Notify
}
}
}
[Scope]
public class JabberSenderSinkScope
{
private UserManager UserManager { get; }
@ -104,14 +105,5 @@ namespace ASC.Core.Notify
{
(userManager, tenantManager) = (UserManager, TenantManager);
}
}
public static class JabberSenderSinkExtension
{
public static DIHelper AddJabberSenderSinkService(this DIHelper services)
{
services.TryAddScoped<JabberSenderSinkScope>();
return services;
}
}
}

View File

@ -345,7 +345,7 @@ namespace ASC.Core.Notify.Senders
{
public static void Register(DIHelper services)
{
services.TryAddScoped<SmtpSenderScope>();
services.TryAdd<SmtpSenderScope>();
}
}
}

View File

@ -202,10 +202,5 @@ namespace ASC.Data.Storage.DiscStorage
return builder;
}
public static DIHelper AddStorageHandlerService(this DIHelper services)
{
services.TryAddScoped<StorageHandlerScope>();
return services;
}
}
}

View File

@ -17,7 +17,8 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
namespace ASC.Data.Backup
{
{
[Scope]
public class DbHelper : IDisposable
{
private readonly DbProviderFactory factory;
@ -269,12 +270,4 @@ namespace ASC.Data.Backup
" where 1 = 0";
}
}
public static class DbHelperExtension
{
public static DIHelper AddDbHelper(this DIHelper services)
{
services.TryAddScoped<DbHelper>();
return services;
}
}
}

View File

@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using ASC.Common;
@ -69,9 +68,6 @@ namespace ASC.Notify
services.AddHostedService<NotifyServiceLauncher>();
services.AddAutofac(hostContext.Configuration, hostContext.HostingEnvironment.ContentRootPath);
var a = $"{string.Join(",", diHelper.Singleton.OrderBy(r => r).ToArray())},{string.Join(",", diHelper.Scoped.OrderBy(r => r).ToArray())},{string.Join(",", diHelper.Transient.OrderBy(r => r).ToArray())}";
var b = 0;
})
.UseConsoleLifetime()
.Build();

View File

@ -1035,7 +1035,7 @@ namespace ASC.Web.Studio.Core.Notify
{
public static void Register(DIHelper services)
{
services.TryAddScoped<StudioNotifyServiceScope>();
services.TryAdd<StudioNotifyServiceScope>();
}
}
}

View File

@ -51,7 +51,7 @@ using Twilio.Types;
namespace ASC.Web.Core.Sms
{
[Scope]
[Scope(Additional = typeof(TwilioProviderExtention))]
public class SmsProviderManager
{
public SmscProvider SmscProvider { get => ConsumerFactory.Get<SmscProvider>(); }
@ -530,11 +530,9 @@ namespace ASC.Web.Core.Sms
public static class TwilioProviderExtention
{
public static DIHelper AddTwilioProviderService(this DIHelper services)
public static void Register(DIHelper services)
{
services.TryAddScoped<TwilioSaaSProvider>();
return services;
services.TryAdd<TwilioSaaSProvider>();
}
}
}