/// <summary> /// Method that calls the Cartridge Health Check method. /// </summary> /// <param name="serviceType"></param> /// <param name="value"></param> /// <returns></returns> public static HealthCheck CheckUp(WorkBenchServiceType serviceType, string value) { IWorkBenchHealthCheck workBenchHealCheck = GetService <IWorkBenchHealthCheck>(serviceType); string serviceKey = serviceType.ToString(); var checkup = workBenchHealCheck.HealthCheck(serviceKey, value); return(checkup); }
public static void AddToCache(WorkBenchServiceType singletonType, IWorkBenchService singleton) { if (_singletonCache.ContainsKey(singletonType)) { throw new ArgumentException("type", $"The SingletonType '{singletonType.ToString()}' has been already set. Only one Workbench service of a given type is allowed."); } _singletonCache.Add(singletonType, singleton); }
/// <summary> /// Get active cartridges from exposed _singletonCache property from Workbench /// </summary> /// <typeparam name="T"></typeparam> /// <param name="singletonType"></param> /// <param name="mandatoryParam"></param> /// <returns></returns> internal static T GetService <T>(WorkBenchServiceType singletonType, Boolean mandatoryParam = true) { IWorkBenchService service; if (!WorkBench._singletonCache.TryGetValue(singletonType, out service)) { if (mandatoryParam) { throw new ArgumentException($"No Workbench service of type '{singletonType.ToString()}' was injected on Startup."); } } return((T)service); }
public static object GetRegisteredService(WorkBenchServiceType serviceType) { if (!_isServicesUp) { // Trigger initializations over Workbench Services on demand InitializeServices(); } IWorkBenchService IWorkBenchService; _singletonCache.TryGetValue(serviceType, out IWorkBenchService); return(IWorkBenchService != null ? IWorkBenchService : null); }
public static object GetRegisteredService(WorkBenchServiceType serviceType) => Workbench.Instance.GetRegisteredService((WorkbenchServiceType)serviceType);
public static void AddToCache(WorkBenchServiceType singletonType, IWorkBenchService singleton) => Workbench.Instance.AddToCache((WorkbenchServiceType)singletonType, (IWorkbenchService)singleton);