Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / Util / SimpleRecyclingCache.cs / 3 / SimpleRecyclingCache.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * SimpleRecyclingCache class * * Copyright (c) 1999 Microsoft Corporation */ namespace System.Web.Util { using System.Collections; /* * The purpose of this class is to provide a simple and efficient cache. * Instead of using fancy logic to expire items, it uses a simple heuristic: * when the number of entry reaches a fixed limit, the cache is reset. */ internal class SimpleRecyclingCache { private const int MAX_SIZE = 100; private static Hashtable _hashtable; internal SimpleRecyclingCache() { CreateHashtable(); } // Create or recreate the hastable private void CreateHashtable() { _hashtable = new Hashtable(MAX_SIZE, StringComparer.OrdinalIgnoreCase); } internal object this[object key] { get { return _hashtable[key]; } set { lock (this) { // The limit was reached, so reset everything if (_hashtable.Count >= MAX_SIZE) _hashtable.Clear(); _hashtable[key] = value; } } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeDescriptionProvider.cs
- TypeConverterHelper.cs
- NoResizeSelectionBorderGlyph.cs
- SocketInformation.cs
- SynchronizedDisposablePool.cs
- Vector3DCollection.cs
- BrowserCapabilitiesFactoryBase.cs
- OdbcPermission.cs
- InternalPermissions.cs
- DetailsViewActionList.cs
- FixedBufferAttribute.cs
- TPLETWProvider.cs
- AppliesToBehaviorDecisionTable.cs
- ReadOnlyDataSourceView.cs
- TraceUtils.cs
- Security.cs
- ParameterCollectionEditor.cs
- ContentPosition.cs
- InputLangChangeRequestEvent.cs
- ArraySortHelper.cs
- TextSimpleMarkerProperties.cs
- XPathDocumentNavigator.cs
- EdmMember.cs
- CodeArrayIndexerExpression.cs
- ProjectionCamera.cs
- VisualTreeUtils.cs
- DrawingDrawingContext.cs
- LocatorPart.cs
- ButtonBaseAutomationPeer.cs
- LongPath.cs
- OwnerDrawPropertyBag.cs
- TraceRecord.cs
- EndPoint.cs
- ValidatorUtils.cs
- CompilerLocalReference.cs
- LayoutTableCell.cs
- PropertyDescriptorGridEntry.cs
- counter.cs
- DbConnectionHelper.cs
- DbConvert.cs
- ADMembershipUser.cs
- NavigationService.cs
- XPathDocumentIterator.cs
- TraceShell.cs
- ObjectCloneHelper.cs
- SqlCacheDependency.cs
- BitStack.cs
- KeysConverter.cs
- SimpleRecyclingCache.cs
- SqlRowUpdatedEvent.cs
- DetailsViewAutoFormat.cs
- Axis.cs
- EventArgs.cs
- InkCanvasFeedbackAdorner.cs
- ClientRuntimeConfig.cs
- AudienceUriMode.cs
- AnimationClockResource.cs
- GenericTextProperties.cs
- BinaryEditor.cs
- RequestNavigateEventArgs.cs
- EdmConstants.cs
- TextTrailingCharacterEllipsis.cs
- SqlTypeConverter.cs
- _Rfc2616CacheValidators.cs
- BitmapDecoder.cs
- SharedStatics.cs
- KeyTime.cs
- SystemResourceKey.cs
- TabControlCancelEvent.cs
- SqlCommandSet.cs
- FormattedText.cs
- __Filters.cs
- ClientEventManager.cs
- MimePart.cs
- PriorityQueue.cs
- BooleanFunctions.cs
- FreezableCollection.cs
- RestClientProxyHandler.cs
- HostUtils.cs
- PageCodeDomTreeGenerator.cs
- ZipIOModeEnforcingStream.cs
- MethodCallConverter.cs
- XmlJsonReader.cs
- DataTable.cs
- Panel.cs
- CustomTypeDescriptor.cs
- EmptyQuery.cs
- StylusButton.cs
- GPStream.cs
- FixedSOMPage.cs
- PersonalizableTypeEntry.cs
- OracleLob.cs
- DataGridViewCellCancelEventArgs.cs
- ReferencedType.cs
- Translator.cs
- PriorityBindingExpression.cs
- ACL.cs
- DependencyPropertyKind.cs
- OdbcFactory.cs
- DataGridCaption.cs