/// <summary>
        /// If an instance of <see cref="IApplicationInstanceInfo"/> is found, it is returned.
        /// Otherwise a default instance is returned.
        /// </summary>
        /// <param name="sp">Provider of services</param>
        /// <returns>An instance of <see cref="IApplicationInstanceInfo" /></returns>
        public static IApplicationInstanceInfo GetApplicationInstanceInfo(this IServiceProvider sp)
        {
            var appInfo = sp.GetService <IApplicationInstanceInfo>();

            if (appInfo == null)
            {
                var config = sp.GetRequiredService <IConfiguration>();
                appInfo = new ApplicationInstanceInfo(config, string.Empty);
            }

            return(appInfo);
        }
Example #2
0
        public static IApplicationInstanceInfo GetApplicationInstanceInfo(this IServiceCollection serviceCollection)
        {
            var sp      = serviceCollection.BuildServiceProvider();
            var appInfo = sp.GetServices <IApplicationInstanceInfo>();

            if (!appInfo.Any())
            {
                var config     = sp.GetRequiredService <IConfiguration>();
                var newAppInfo = new ApplicationInstanceInfo(config, true);
                serviceCollection.AddSingleton(typeof(IApplicationInstanceInfo), newAppInfo);
                return(newAppInfo);
            }
            else
            {
                return(appInfo.First());
            }
        }