コード例 #1
0
 public static void DisposeObject(String instanceKey)
 {
     lock (AccessLock)
     {
         IDisposable obj = ContextProvider.GetItem <IDisposable>(instanceKey);
         if (obj == null)
         {
             return;
         }
         obj.Dispose();
         ContextProvider.SetItem <IDisposable>(instanceKey, null);
     }
 }
コード例 #2
0
        public static TDisposable RequestDisposableObject <TDisposable>(Func <TDisposable> constructor, String instanceKey)
            where TDisposable : class, IDisposable
        {
            lock (AccessLock)
            {
                TDisposable obj = ContextProvider.GetItem <TDisposable>(instanceKey);
                if (obj != null)
                {
                    return(obj);
                }

                obj = constructor();
                ContextProvider.SetItem(instanceKey, obj);
                return(obj);
            }
        }