コード例 #1
0
 private void Init(bool isPublic, string[] filenamesArg, string[] cachekeysArg, CacheDependency dependency, DateTime utcStart)
 {
     throw new NotImplementedException();
     //CacheDependency.DepFileInfo[] array = CacheDependency.s_depFileInfosEmpty;
     //CacheEntry[] array2 = CacheDependency.s_entriesEmpty;
     //_bits = new SafeBitVector32(0);
     //string[] array3;
     //if (filenamesArg != null)
     //{
     //    array3 = (string[])filenamesArg.Clone();
     //}
     //else
     //{
     //    array3 = null;
     //}
     //string[] array4;
     //if (cachekeysArg != null)
     //{
     //    array4 = (string[])cachekeysArg.Clone();
     //}
     //else
     //{
     //    array4 = null;
     //}
     //_utcLastModified = DateTime.MinValue;
     //try
     //{
     //    if (array3 == null)
     //    {
     //        array3 = CacheDependency.s_stringsEmpty;
     //    }
     //    else
     //    {
     //        string[] array5 = array3;
     //        for (int i = 0; i < array5.Length; i++)
     //        {
     //            string text = array5[i];
     //            if (text == null)
     //            {
     //                throw new ArgumentNullException("filenamesArg");
     //            }
     //            if (isPublic)
     //            {
     //                InternalSecurityPermissions.PathDiscovery(text).Demand();
     //            }
     //        }
     //    }
     //    if (array4 == null)
     //    {
     //        array4 = CacheDependency.s_stringsEmpty;
     //    }
     //    else
     //    {
     //        string[] array5 = array4;
     //        for (int i = 0; i < array5.Length; i++)
     //        {
     //            if (array5[i] == null)
     //            {
     //                throw new ArgumentNullException("cachekeysArg");
     //            }
     //        }
     //    }
     //    if (dependency == null)
     //    {
     //        dependency = CacheDependency.s_dependencyEmpty;
     //    }
     //    else
     //    {
     //        if (dependency.GetType() != CacheDependency.s_dependencyEmpty.GetType())
     //        {
     //            throw new ArgumentException(SR.GetString("Invalid_Dependency_Type"));
     //        }
     //        object depFileInfos = dependency._depFileInfos;
     //        object entries = dependency._entries;
     //        DateTime utcLastModified = dependency._utcLastModified;
     //        if (dependency._bits[4])
     //        {
     //            _bits[4] = true;
     //            this.DisposeInternal();
     //            return;
     //        }
     //        if (depFileInfos != null)
     //        {
     //            if (depFileInfos is CacheDependency.DepFileInfo)
     //            {
     //                array = new CacheDependency.DepFileInfo[]
     //                {
     //                    (CacheDependency.DepFileInfo)depFileInfos
     //                };
     //            }
     //            else
     //            {
     //                array = (CacheDependency.DepFileInfo[])depFileInfos;
     //            }
     //            CacheDependency.DepFileInfo[] array6 = array;
     //            for (int i = 0; i < array6.Length; i++)
     //            {
     //                string filename = array6[i]._filename;
     //                if (filename == null)
     //                {
     //                    _bits[4] = true;
     //                    this.DisposeInternal();
     //                    return;
     //                }
     //                if (isPublic)
     //                {
     //                    InternalSecurityPermissions.PathDiscovery(filename).Demand();
     //                }
     //            }
     //        }
     //        if (entries != null)
     //        {
     //            if (entries is CacheEntry)
     //            {
     //                array2 = new CacheEntry[]
     //                {
     //                    (CacheEntry)entries
     //                };
     //            }
     //            else
     //            {
     //                array2 = (CacheEntry[])entries;
     //                CacheEntry[] array7 = array2;
     //                for (int i = 0; i < array7.Length; i++)
     //                {
     //                    if (array7[i] == null)
     //                    {
     //                        _bits[4] = true;
     //                        this.DisposeInternal();
     //                        return;
     //                    }
     //                }
     //            }
     //        }
     //        _utcLastModified = utcLastModified;
     //    }
     //    int num = array.Length + array3.Length;
     //    if (num > 0)
     //    {
     //        CacheDependency.DepFileInfo[] array8 = new CacheDependency.DepFileInfo[num];
     //        FileChangeEventHandler callback = new FileChangeEventHandler(this.FileChange);
     //        FileChangesMonitor fileChangesMonitor = HttpRuntime.FileChangesMonitor;
     //        int j;
     //        for (j = 0; j < num; j++)
     //        {
     //            array8[j] = new CacheDependency.DepFileInfo();
     //        }
     //        j = 0;
     //        CacheDependency.DepFileInfo[] array6 = array;
     //        for (int i = 0; i < array6.Length; i++)
     //        {
     //            string filename2 = array6[i]._filename;
     //            fileChangesMonitor.StartMonitoringPath(filename2, callback, out array8[j]._fad);
     //            array8[j]._filename = filename2;
     //            j++;
     //        }
     //        DateTime dateTime = DateTime.MinValue;
     //        string[] array5 = array3;
     //        for (int i = 0; i < array5.Length; i++)
     //        {
     //            string text2 = array5[i];
     //            DateTime dateTime2 = fileChangesMonitor.StartMonitoringPath(text2, callback, out array8[j]._fad);
     //            array8[j]._filename = text2;
     //            j++;
     //            if (dateTime2 > _utcLastModified)
     //            {
     //                _utcLastModified = dateTime2;
     //            }
     //            if (utcStart < DateTime.MaxValue)
     //            {
     //                if (dateTime == DateTime.MinValue)
     //                {
     //                    dateTime = DateTime.UtcNow;
     //                }
     //                if (dateTime2 >= utcStart && !(dateTime2 - dateTime > CacheDependency.FUTURE_FILETIME_BUFFER))
     //                {
     //                    _bits[4] = true;
     //                    break;
     //                }
     //            }
     //        }
     //        if (array8.Length == 1)
     //        {
     //            _depFileInfos = array8[0];
     //        }
     //        else
     //        {
     //            _depFileInfos = array8;
     //        }
     //    }
     //    int num2 = array2.Length + array4.Length;
     //    if (num2 > 0 && !_bits[4])
     //    {
     //        CacheEntry[] array9 = new CacheEntry[num2];
     //        int num3 = 0;
     //        CacheEntry[] array7 = array2;
     //        for (int i = 0; i < array7.Length; i++)
     //        {
     //            CacheEntry cacheEntry = array7[i];
     //            cacheEntry.AddCacheDependencyNotify(this);
     //            array9[num3++] = cacheEntry;
     //        }
     //        CacheInternal cacheInternal = HttpRuntime.CacheInternal;
     //        string[] array5 = array4;
     //        for (int i = 0; i < array5.Length; i++)
     //        {
     //            string key = array5[i];
     //            CacheEntry cacheEntry2 = (CacheEntry)cacheInternal.DoGet(isPublic, key, CacheGetOptions.ReturnCacheEntry);
     //            if (cacheEntry2 == null)
     //            {
     //                _bits[4] = true;
     //                break;
     //            }
     //            cacheEntry2.AddCacheDependencyNotify(this);
     //            array9[num3++] = cacheEntry2;
     //            if (cacheEntry2.UtcCreated > _utcLastModified)
     //            {
     //                _utcLastModified = cacheEntry2.UtcCreated;
     //            }
     //            if (cacheEntry2.State != CacheEntry.EntryState.AddedToCache || cacheEntry2.UtcCreated > utcStart)
     //            {
     //                _bits[4] = true;
     //                break;
     //            }
     //        }
     //        if (array9.Length == 1)
     //        {
     //            _entries = array9[0];
     //        }
     //        else
     //        {
     //            _entries = array9;
     //        }
     //    }
     //    _bits[1] = true;
     //    if (dependency._bits[4])
     //    {
     //        _bits[4] = true;
     //    }
     //    if (_bits[16] || _bits[4])
     //    {
     //        this.DisposeInternal();
     //    }
     //}
     //catch
     //{
     //    _bits[1] = true;
     //    this.DisposeInternal();
     //    throw;
     //}
     //finally
     //{
     //    this.InitUniqueID();
     //}
 }
コード例 #2
0
 internal CacheDependency(int dummy, string[] filenames, string[] cachekeys, CacheDependency dependency, DateTime utcStart)
 {
     this.Init(false, filenames, cachekeys, dependency, utcStart);
 }
コード例 #3
0
 public CacheDependency(string[] filenames, string[] cachekeys, CacheDependency dependency, DateTime start)
 {
     throw new NotImplementedException();
     //DateTime utcStart = DateTimeUtil.ConvertToUniversalTime(start);
     //this.Init(true, filenames, cachekeys, dependency, utcStart);
 }
コード例 #4
0
 internal CacheDependency(int dummy, string[] filenames, string[] cachekeys, CacheDependency dependency)
 {
     this.Init(false, filenames, cachekeys, dependency, DateTime.MaxValue);
 }
コード例 #5
0
 public CacheDependency(string[] filenames, string[] cachekeys, CacheDependency dependency)
 {
     this.Init(true, filenames, cachekeys, dependency, DateTime.MaxValue);
 }