QueryCacheKey.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / DataEntity / System / Data / Common / QueryCache / QueryCacheKey.cs / 1 / QueryCacheKey.cs

                            //------------------------------------------------------------------------------ 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner [....], [....]
//----------------------------------------------------------------------------- 
 
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 [....], [....]
//----------------------------------------------------------------------------- 
 
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