DI: fix
This commit is contained in:
parent
51f1f92307
commit
3256a3dbc7
@ -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}";
|
||||
|
@ -177,6 +177,8 @@ namespace ASC.Core
|
||||
public static void Register(DIHelper dIHelper)
|
||||
{
|
||||
dIHelper.TryAdd<TelegramHelper>();
|
||||
dIHelper.TryAdd<EmailSenderSinkScope>();
|
||||
dIHelper.TryAdd<JabberSenderSinkScope>();
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -345,7 +345,7 @@ namespace ASC.Core.Notify.Senders
|
||||
{
|
||||
public static void Register(DIHelper services)
|
||||
{
|
||||
services.TryAddScoped<SmtpSenderScope>();
|
||||
services.TryAdd<SmtpSenderScope>();
|
||||
}
|
||||
}
|
||||
}
|
@ -202,10 +202,5 @@ namespace ASC.Data.Storage.DiscStorage
|
||||
|
||||
return builder;
|
||||
}
|
||||
public static DIHelper AddStorageHandlerService(this DIHelper services)
|
||||
{
|
||||
services.TryAddScoped<StorageHandlerScope>();
|
||||
return services;
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -1035,7 +1035,7 @@ namespace ASC.Web.Studio.Core.Notify
|
||||
{
|
||||
public static void Register(DIHelper services)
|
||||
{
|
||||
services.TryAddScoped<StudioNotifyServiceScope>();
|
||||
services.TryAdd<StudioNotifyServiceScope>();
|
||||
}
|
||||
}
|
||||
}
|
@ -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>();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user