Esempio n. 1
0
        internal override bool TryRetrieve(string key, out RequestCacheEntry cacheEntry, out Stream readStream)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }
            FrozenCacheEntry clonedObject = this._Entry;

            cacheEntry = null;
            readStream = null;
            if ((clonedObject == null) || (clonedObject.Key != key))
            {
                Stream            stream;
                RequestCacheEntry entry2;
                if (!this._UseWinInet || !base.TryRetrieve(key, out entry2, out stream))
                {
                    return(false);
                }
                clonedObject = new FrozenCacheEntry(key, entry2, stream);
                stream.Close();
                this._Entry = clonedObject;
            }
            cacheEntry = FrozenCacheEntry.Create(clonedObject);
            readStream = new ReadOnlyStream(clonedObject.StreamBytes);
            return(true);
        }
        internal override bool TryUpdate(string key, DateTime expiresUtc, DateTime lastModifiedUtc, DateTime lastSynchronizedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }

            FrozenCacheEntry chkEntry = FrozenCacheEntry.Create(_Entry);

            //
            // This class does not forward metadata updates to WinInet to simplify the design and avoid interlocked ops
            //

            if (chkEntry == null || chkEntry.Key != key)
            {
                return(true);
            }

            chkEntry.ExpiresUtc          = expiresUtc;
            chkEntry.LastModifiedUtc     = lastModifiedUtc;
            chkEntry.LastSynchronizedUtc = lastSynchronizedUtc;
            chkEntry.MaxStale            = maxStale;
            chkEntry.EntryMetadata       = entryMetadata;
            chkEntry.SystemMetadata      = systemMetadata;
            _Entry = chkEntry;
            return(true);
        }
 internal override bool TryRemove(string key)
 {
     if (key == null)
     {
         throw new ArgumentNullException("key");
     }
     if (this._UseWinInet)
     {
         base.TryRemove(key);
     }
     FrozenCacheEntry entry = this._Entry;
     if ((entry != null) && (entry.Key == key))
     {
         this._Entry = null;
     }
     return true;
 }
        internal override bool TryRemove(string key)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }


            FrozenCacheEntry chkEntry = _Entry;

            if (chkEntry != null && chkEntry.Key == key)
            {
                _Entry = null;
            }

            return(true);
        }
Esempio n. 5
0
        internal override bool TryRemove(string key)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }
            if (this._UseWinInet)
            {
                base.TryRemove(key);
            }
            FrozenCacheEntry entry = this._Entry;

            if ((entry != null) && (entry.Key == key))
            {
                this._Entry = null;
            }
            return(true);
        }
Esempio n. 6
0
        internal override bool TryUpdate(string key, DateTime expiresUtc, DateTime lastModifiedUtc, DateTime lastSynchronizedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }
            FrozenCacheEntry entry = FrozenCacheEntry.Create(this._Entry);

            if ((entry != null) && (entry.Key == key))
            {
                entry.ExpiresUtc          = expiresUtc;
                entry.LastModifiedUtc     = lastModifiedUtc;
                entry.LastSynchronizedUtc = lastSynchronizedUtc;
                entry.MaxStale            = maxStale;
                entry.EntryMetadata       = entryMetadata;
                entry.SystemMetadata      = systemMetadata;
                this._Entry = entry;
            }
            return(true);
        }
        internal override bool TryRetrieve(string key, out RequestCacheEntry cacheEntry, out Stream readStream)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }

            FrozenCacheEntry chkEntry = _Entry;

            cacheEntry = null;
            readStream = null;

            if (chkEntry == null || chkEntry.Key != key)
            {
                return(false);
            }
            cacheEntry = FrozenCacheEntry.Create(chkEntry);
            readStream = new ReadOnlyStream(chkEntry.StreamBytes);
            return(true);
        }
Esempio n. 8
0
 public static FrozenCacheEntry Create(FrozenCacheEntry clonedObject)
 {
     return (object)clonedObject == (object)null? null: (FrozenCacheEntry) clonedObject.MemberwiseClone();
 }
 internal override bool TryRetrieve(string key, out RequestCacheEntry cacheEntry, out Stream readStream)
 {
     if (key == null)
     {
         throw new ArgumentNullException("key");
     }
     FrozenCacheEntry clonedObject = this._Entry;
     cacheEntry = null;
     readStream = null;
     if ((clonedObject == null) || (clonedObject.Key != key))
     {
         Stream stream;
         RequestCacheEntry entry2;
         if (!this._UseWinInet || !base.TryRetrieve(key, out entry2, out stream))
         {
             return false;
         }
         clonedObject = new FrozenCacheEntry(key, entry2, stream);
         stream.Close();
         this._Entry = clonedObject;
     }
     cacheEntry = FrozenCacheEntry.Create(clonedObject);
     readStream = new ReadOnlyStream(clonedObject.StreamBytes);
     return true;
 }
 private void Commit(string key, RequestCacheEntry tempEntry, byte[] allBytes)
 {
     FrozenCacheEntry entry = new FrozenCacheEntry(key, tempEntry, allBytes);
     this._Entry = entry;
 }
 internal override bool TryUpdate(string key, DateTime expiresUtc, DateTime lastModifiedUtc, DateTime lastSynchronizedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata)
 {
     if (key == null)
     {
         throw new ArgumentNullException("key");
     }
     FrozenCacheEntry entry = FrozenCacheEntry.Create(this._Entry);
     if ((entry != null) && (entry.Key == key))
     {
         entry.ExpiresUtc = expiresUtc;
         entry.LastModifiedUtc = lastModifiedUtc;
         entry.LastSynchronizedUtc = lastSynchronizedUtc;
         entry.MaxStale = maxStale;
         entry.EntryMetadata = entryMetadata;
         entry.SystemMetadata = systemMetadata;
         this._Entry = entry;
     }
     return true;
 }
        internal override bool TryUpdate(string key, DateTime expiresUtc, DateTime lastModifiedUtc, DateTime lastSynchronizedUtc, TimeSpan maxStale, StringCollection entryMetadata, StringCollection systemMetadata)
        {
            if (key == null)
                throw new ArgumentNullException("key");

            FrozenCacheEntry chkEntry = FrozenCacheEntry.Create(_Entry);

            //
            // This class does not forward metadata updates to WinInet to simplify the design and avoid interlocked ops
            //

            if (chkEntry == null || chkEntry.Key != key)
                return true;

            chkEntry.ExpiresUtc = expiresUtc;
            chkEntry.LastModifiedUtc = lastModifiedUtc;
            chkEntry.LastSynchronizedUtc = lastSynchronizedUtc;
            chkEntry.MaxStale = maxStale;
            chkEntry.EntryMetadata = entryMetadata;
            chkEntry.SystemMetadata = systemMetadata;
            _Entry = chkEntry;
            return true;
        }
        internal override bool TryRemove(string key)
        {
            if (key == null)
                throw new ArgumentNullException("key");


            FrozenCacheEntry chkEntry = _Entry;
            
            if (chkEntry != null && chkEntry.Key == key)
                _Entry = null;

            return true;
        }
Esempio n. 14
0
        private void Commit(string key, RequestCacheEntry tempEntry, byte[] allBytes)
        {
            FrozenCacheEntry entry = new FrozenCacheEntry(key, tempEntry, allBytes);

            this._Entry = entry;
        }
Esempio n. 15
0
 public static FrozenCacheEntry Create(FrozenCacheEntry clonedObject)
 {
     return((object)clonedObject == (object)null? null: (FrozenCacheEntry)clonedObject.MemberwiseClone());
 }