Ejemplo n.º 1
0
 public static void RegisterPrismCoreServices(this IServiceCollection services)
 {
     if (!services.IsRegistered <IAggregateLogger>())
     {
         services.AddSingleton <AggregateLogger>(p =>
         {
             var logger = new AggregateLogger();
             logger.AddLoggers(p.GetService <IEnumerable <IAggregableLogger> >());
             return(logger);
         });
         services.AddTransient <IAggregateLogger>(p => p.GetRequiredService <AggregateLogger>());
         services.AddTransient <ILogger>(p => p.GetRequiredService <AggregateLogger>());
         services.AddTransient <IAnalyticsService>(p => p.GetRequiredService <AggregateLogger>());
         services.AddTransient <ICrashesService>(p => p.GetRequiredService <AggregateLogger>());
     }
     services.RegisterSingletonIfNotRegistered <IEventAggregator, EventAggregator>();
     services.RegisterSingletonIfNotRegistered <IModuleCatalog, ModuleCatalog>();
     services.RegisterSingletonIfNotRegistered <IModuleManager, ModuleManager>();
     services.RegisterSingletonIfNotRegistered <IModuleInitializer, ModuleInitializer>();
 }