Esempio n. 1
0
        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());
            }
        }