示例#1
0
        /// <summary>
        /// Initializes logging service.
        /// </summary>
        private async Task InitializeLoggingServiceAsync()
        {
            var list = await ContainerService.GetInstancesAsync <IWavesLogService>();

            if (list == null)
            {
                throw new NullReferenceException("There are no initialized logging services.");
            }

            foreach (var plugin in list)
            {
                try
                {
                    var service = plugin;
                    if (service == null)
                    {
                        continue;
                    }

                    LoggingServices.Add(service);
                    await service.InitializeAsync();
                }
                catch (Exception e)
                {
                    await WriteLogAsync(e, this);
                }
            }

            await WritePendingMessagesAsync();
        }
示例#2
0
        /// <inheritdoc />
        public async Task <IEnumerable <T> > GetInstancesAsync <T>(object key)
            where T : class
        {
            if (ContainerService == null ||
                !ContainerService.IsInitialized)
            {
                throw new NullReferenceException("Container service was not initialized.");
            }

            return(await ContainerService.GetInstancesAsync <T>(key));
        }