예제 #1
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            _serviceSchemaProvider = serviceProvider.GetInstances <IServiceSchemaProvider>();
            _serviceEntryProvider  = serviceProvider.GetInstances <IServiceEntryProvider>();
        }
예제 #2
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            serviceProvider.GetInstances <IServiceEngineLifetime>().ServiceEngineStarted.Register(() =>
            {
                var provider = serviceProvider.GetInstances <IBackgroundServiceEntryProvider>();
                var entries  = provider.GetEntries();
                foreach (var entry in entries)
                {
                    var cts = new CancellationTokenSource();
                    Task.Run(() =>
                    {
                        try
                        {
                            entry.Behavior.StartAsync(cts.Token);
                        }
                        catch
                        {
                            entry.Behavior.StopAsync(cts.Token);
                        }
                    });
                }
            });
        }
예제 #3
0
 private static void ShowWindow(IEnumerable <CocoaLogViewerModule> modules, ModuleInitializationContext context)
 {
     Application.SetHighDpiMode(HighDpiMode.SystemAware);
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new FormMain(modules, context));
 }
예제 #4
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            serviceProvider.GetInstances <IConfigurationFactory>().Create();
        }
예제 #5
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            log4NetConfigFile = EnvironmentHelper.GetEnvironmentVariable(log4NetConfigFile);
            serviceProvider.GetInstances <ILoggerFactory>().AddProvider(new Log4NetProvider(log4NetConfigFile));
        }
예제 #6
0
 public TransformerSwitcher(ModuleInitializationContext moduleInitializationContext)
 {
     if (moduleInitializationContext is null)
     {
         throw new ArgumentNullException(nameof(moduleInitializationContext));
     }
     _context = moduleInitializationContext;
 }
예제 #7
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            nlogConfigFile = EnvironmentHelper.GetEnvironmentVariable(nlogConfigFile);
            LogManager.LoadConfiguration(nlogConfigFile);
            serviceProvider.GetInstances <ILoggerFactory>().AddProvider(new NLogProvider());
        }
예제 #8
0
        protected override void InitializeCore(ModuleInitializationContext context)
        {
            // Step 1: set the current culture to English.
            SetCultureInfo();

            // Step 2: modify the language data.
            LanguageData.Current = English._inst;

            // Step 3: build a transformer pipeline.
            BuildTransformerPipeline(context);
        }
예제 #9
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            var serviceCacheProvider = serviceProvider.GetInstances <ICacheNodeProvider>();
            var addressDescriptors   = serviceCacheProvider.GetServiceCaches().ToList();

            serviceProvider.GetInstances <IServiceCacheManager>().SetCachesAsync(addressDescriptors);
            serviceProvider.GetInstances <IConfigurationWatchProvider>();
        }
예제 #10
0
        /// <summary>
        /// 初始化
        /// </summary>
        /// <param name="moduleContext">应用模块上下文</param>
        public override void Initialize(ModuleInitializationContext moduleContext)
        {
            var serviceProvider = moduleContext.ServiceProvoider.GetInstances <IServiceProvider>();

            _application.Initialize(serviceProvider);
            var abpExceptionPrompt = moduleContext.ServiceProvoider.GetInstances <AbpExceptionPrompt>();

            if (abpExceptionPrompt != null)
            {
                ExceptionPrompt.AddPrompt(abpExceptionPrompt);
            }
        }
예제 #11
0
 private static void BuildTransformerPipeline(ModuleInitializationContext context)
 {
     context.TransformerPipeline = new TransformerPipeline()
                                   .AddControlCharTransformer()
                                   .Add(CallTransformer.Instance)
                                   .Add(TekItemTransformer.Instance)
                                   .Add(LastCreatedTransformer.Instance)
                                   .Add(DownloadTekFileTransformer.Instance)
                                   .Add(DownloadTransformer.Instance)
                                   .Add(ExposureNotificationTransformer.Instance)
                                   .Add(UserDataTransformer.Instance)
                                   .Add(TransitionTransformer.Instance);
 }
예제 #12
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            serviceProvider.GetInstances <ISubscriptionAdapt>().SubscribeAt();
            serviceProvider.GetInstances <IServiceEngineLifetime>().ServiceEngineStarted.Register(() =>
            {
                var connection =
                    serviceProvider.GetInstances <IKafkaPersisterConnection>(KafkaConnectionType.Consumer.ToString()) as
                    KafkaConsumerPersistentConnection;
                connection.Listening(TimeSpan.FromMilliseconds(AppConfig.Options.Timeout));
            });
        }
예제 #13
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);
            new ServiceRouteWatch(serviceProvider.GetInstances <CPlatformContainer>(), () =>
            {
                var subscriptionAdapt = serviceProvider.GetInstances <ISubscriptionAdapt>();
                serviceProvider.GetInstances <IEventBus>().OnShutdown += (sender, args) =>
                {
                    subscriptionAdapt.Unsubscribe();
                };
                serviceProvider.GetInstances <ISubscriptionAdapt>().SubscribeAt();
            });
        }
예제 #14
0
        protected override void InitializeCore(ModuleInitializationContext context)
        {
            // Step 1: set the current culture to English.
            SetCultureInfo();

            // Step 2: modify the language data.
            LanguageData.Current = English._inst;

            // Step 3: build a transformer pipeline.
            context.TransformerPipeline = new TransformerPipeline()
                                          .AddControlCharTransformer()
                                          .Add(CallTransformer.Instance)
                                          .Add(TekItemTransformer.Instance)
                                          .Add(UserDataTransformer.Instance)
                                          .Add(TransitionTransformer.Instance);
        }
예제 #15
0
 internal static IEnumerable <CocoaLogViewerModule> LoadModules(ModuleInitializationContext context, string dir, string pattern)
 {
     context.ParseArguments();
     if (context.DisallowExtensions || !Directory.Exists(dir))
     {
         yield break;
     }
     foreach (string fname in Directory.EnumerateFiles(dir, pattern, _eo))
     {
         if (LoadModuleCore(fname) is not null and var mod)
         {
             mod.Initialize(context);
             yield return(mod);
         }
     }
 }
예제 #16
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            base.Initialize(context);

            var logger = new LoggerConfiguration().ReadFrom.Configuration(AppConfig.Configuration)
#if DEBUG
                         .MinimumLevel.Debug()
#else
                         .MinimumLevel.Information()
#endif
                         .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
                         .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning)
                         .Enrich.FromLogContext()
                         .WriteTo.Console()
                         .WriteTo.Async(c => c.File(Path.Combine(Directory.GetCurrentDirectory(), "logs/logs.txt")))
                         .CreateLogger();

            serviceProvider.GetInstances <ILoggerFactory>().AddSerilog(logger);
            serviceProvider.GetInstances <IHostApplicationLifetime>().ApplicationStopped.Register(Log.CloseAndFlush);
        }
예제 #17
0
        /// <summary>
        /// Initializes the specified context.
        /// </summary>
        /// <param name="context">The context.</param>
        public override void Initialize(ModuleInitializationContext context)
        {
            var serviceProvider = context.ServiceProvoider;

            serviceProvider.GetInstances <IServiceProxyFactory>();
            if (AppConfig.ServerOptions.ReloadOnChange)
            {
                new ServiceRouteWatch(serviceProvider,
                                      () =>
                {
                    var builder = new ContainerBuilder();
                    var result  = serviceProvider.GetInstances <IServiceEngineBuilder>().ReBuild(builder);
                    if (result != null)
                    {
                        builder.Update(serviceProvider.Current.ComponentRegistry);
                        serviceProvider.GetInstances <IServiceEntryManager>()
                        .UpdateEntries(serviceProvider.GetInstances <IEnumerable <IServiceEntryProvider> >());
                        //  serviceProvider.GetInstances<IServiceProxyFactory>().RegisterProxType(result.Value.Item2.ToArray(), result.Value.Item1.ToArray());
                        serviceProvider.GetInstances <IServiceRouteProvider>().RegisterRoutes(0);
                        serviceProvider.GetInstances <IServiceProxyFactory>();
                    }
                });
            }
        }
예제 #18
0
 /// <summary>
 /// Initializes the specified context.
 /// </summary>
 /// <param name="context">The context.</param>
 public override void Initialize(ModuleInitializationContext context)
 {
     _listener = context.ServiceProvoider.GetInstances <IWebServerListener>();
 }
예제 #19
0
 public FormMain(IEnumerable <CocoaLogViewerModule> modules, ModuleInitializationContext context)
 {
     _modules = modules ?? throw new ArgumentNullException(nameof(modules));
     _context = context ?? throw new ArgumentNullException(nameof(context));
     this.InitializeComponent();
 }
 protected override void InitializeCore(ModuleInitializationContext context)
 {
     _switcher = new(context);
 }
예제 #21
0
 public override void Initialize(ModuleInitializationContext context)
 {
     base.Initialize(context);
     context.ServiceProvoider.GetInstances <IInstrumentStartup>().StartAsync();
 }
예제 #22
0
 protected override void InitializeCore(ModuleInitializationContext context)
 {
     // do nothing
 }
예제 #23
0
 internal static IEnumerable <CocoaLogViewerModule> LoadModules(ModuleInitializationContext context)
 {
     return(LoadModules(context, AppContext.BaseDirectory, "*.dll"));
 }