Пример #1
0
        public void StartRequestLevelContainer()
        {
            string   key   = IoCContainerPerRequestKey;
            UnityIoC child = new UnityIoC(container.CreateChildContainer());

            UnityPerRequestHttpModule.AddToContext(key, child);
        }
Пример #2
0
        public override void RemoveValue()
        {
            var disposable = GetValue() as IDisposable;

            disposable?.Dispose();
            UnityPerRequestHttpModule.SetValue(key, null);
        }
Пример #3
0
 public void ShutdownRequestLevelContainer()
 {
     try
     {
         string key = IoCContainerPerRequestKey;
         UnityPerRequestHttpModule.RemoveFromContext(key);
     }
     catch { }
 }
Пример #4
0
        public object ResolveForRequest(Type t)
        {
            string   key   = IoCContainerPerRequestKey;
            UnityIoC child = (UnityIoC)UnityPerRequestHttpModule.GetValueFromContext(key);

            if (child != null)
            {
                object o = child.Resolve(t);
                return(o);
            }
            return(null);
        }
Пример #5
0
        public T ResolveForRequest <T>()
        {
            try
            {
                string   key   = IoCContainerPerRequestKey;
                UnityIoC child = (UnityIoC)UnityPerRequestHttpModule.GetValueFromContext(key);
                if (child != null)
                {
                    T o = child.container.Resolve <T>();
                    return(o);
                }
            }
            catch (Exception ex)
            {
                return(default(T));
            }

            return(default(T));
        }
Пример #6
0
 public override void SetValue(object newValue)
 {
     UnityPerRequestHttpModule.SetValue(key, newValue);
 }
Пример #7
0
 public override object GetValue()
 {
     return(UnityPerRequestHttpModule.GetValue(key));
 }