private object TryGetInstance(string instanceKey, Func <object> createInstance) { try { object instance = createInstance(); if (!cache.CachedKeys.Contains(instanceKey)) { SetInstance(instanceKey, createInstance); } if (!cache.TryGet <object>(instanceKey, out instance)) { instance = createInstance(); } return(instance); } catch (Exception ex) { Tracing.Start("Extensibility - Light Inject - PerCachedLifeTime - Start of Error"); Tracing.Error(ex.Message); Tracing.Error(ex.StackTrace); Tracing.Stop("Extensibility - Light Inject - PerCachedLifeTime - End of Error"); return(createInstance()); } }