QueryCacheKey.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / QueryCache / QueryCacheKey.cs / 1305376 / QueryCacheKey.cs

                            //------------------------------------------------------------------------------ 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....]
// @backupOwner [....] 
//----------------------------------------------------------------------------- 

namespace System.Data.Common.QueryCache 
{
    using System;
    using System.Collections.Generic;
    using System.Text; 

 
    ///  
    /// represents an abstract cache key
    ///  
    internal abstract class QueryCacheKey
    {
        #region Constants
        protected const int EstimatedParameterStringSize = 20; 
        #endregion
 
        #region Fields 
        /// 
        /// entry hit counter 
        /// 
        private uint _hitCount;

        ///  
        /// aging index
        ///  
        private int _agingIndex; 

        ///  
        /// default string comparison kind - Ordinal
        /// 
        protected static StringComparison _stringComparison = StringComparison.Ordinal;
        #endregion 

        #region Constructor 
        protected QueryCacheKey() 
        {
            _hitCount = 1; 
        }
        #endregion

        #region Abstract Methods 
        /// 
        /// Determines whether two instances of QueryCacheContext are equal. 
        /// Equality is value based. 
        /// 
        ///  
        /// 
        public abstract override bool Equals( object obj );

        ///  
        /// Returns QueryCacheContext instance HashCode
        ///  
        ///  
        public abstract override int GetHashCode();
        #endregion 

        #region Internal API
        /// 
        /// Cache entry hit count 
        /// 
        internal uint HitCount 
        { 
            get
            { 
                return _hitCount;
            }

            set 
            {
                _hitCount = value; 
            } 
        }
 
        /// 
        /// Gets/Sets Aging index for cache entry
        /// 
        internal int AgingIndex 
        {
            get 
            { 
                return _agingIndex;
            } 

            set
            {
                _agingIndex = value; 
            }
        } 
 
        /// 
        /// Updates hit count 
        /// 
        internal void UpdateHit()
        {
            if (uint.MaxValue != _hitCount) 
            {
                unchecked { _hitCount++; } 
            } 
        }
 
        /// 
        /// default string comparer
        /// 
        ///  
        /// 
        ///  
        protected virtual bool Equals( string s, string t ) 
        {
            return String.Equals(s, t, _stringComparison); 
        }
        #endregion
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------ 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner  [....]
// @backupOwner [....] 
//----------------------------------------------------------------------------- 

namespace System.Data.Common.QueryCache 
{
    using System;
    using System.Collections.Generic;
    using System.Text; 

 
    ///  
    /// represents an abstract cache key
    ///  
    internal abstract class QueryCacheKey
    {
        #region Constants
        protected const int EstimatedParameterStringSize = 20; 
        #endregion
 
        #region Fields 
        /// 
        /// entry hit counter 
        /// 
        private uint _hitCount;

        ///  
        /// aging index
        ///  
        private int _agingIndex; 

        ///  
        /// default string comparison kind - Ordinal
        /// 
        protected static StringComparison _stringComparison = StringComparison.Ordinal;
        #endregion 

        #region Constructor 
        protected QueryCacheKey() 
        {
            _hitCount = 1; 
        }
        #endregion

        #region Abstract Methods 
        /// 
        /// Determines whether two instances of QueryCacheContext are equal. 
        /// Equality is value based. 
        /// 
        ///  
        /// 
        public abstract override bool Equals( object obj );

        ///  
        /// Returns QueryCacheContext instance HashCode
        ///  
        ///  
        public abstract override int GetHashCode();
        #endregion 

        #region Internal API
        /// 
        /// Cache entry hit count 
        /// 
        internal uint HitCount 
        { 
            get
            { 
                return _hitCount;
            }

            set 
            {
                _hitCount = value; 
            } 
        }
 
        /// 
        /// Gets/Sets Aging index for cache entry
        /// 
        internal int AgingIndex 
        {
            get 
            { 
                return _agingIndex;
            } 

            set
            {
                _agingIndex = value; 
            }
        } 
 
        /// 
        /// Updates hit count 
        /// 
        internal void UpdateHit()
        {
            if (uint.MaxValue != _hitCount) 
            {
                unchecked { _hitCount++; } 
            } 
        }
 
        /// 
        /// default string comparer
        /// 
        ///  
        /// 
        ///  
        protected virtual bool Equals( string s, string t ) 
        {
            return String.Equals(s, t, _stringComparison); 
        }
        #endregion
    }
} 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK