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
- ToolStripLocationCancelEventArgs.cs
- TraceSource.cs
- ResourceReferenceKeyNotFoundException.cs
- ValidationRule.cs
- HandleCollector.cs
- FileDialog_Vista.cs
- SqlAliasesReferenced.cs
- ValidationResult.cs
- MemberMaps.cs
- EntityDataSourceReferenceGroup.cs
- ActivityCodeGenerator.cs
- QueuePropertyVariants.cs
- ListBoxItemAutomationPeer.cs
- TreeBuilder.cs
- TraceContext.cs
- SmiContextFactory.cs
- UseLicense.cs
- ServiceDefaults.cs
- TextEffectCollection.cs
- PropertyValue.cs
- TextControl.cs
- FrameAutomationPeer.cs
- listitem.cs
- ToolStripItemDataObject.cs
- TypeTypeConverter.cs
- BinaryOperationBinder.cs
- CodeArrayIndexerExpression.cs
- LayoutEngine.cs
- CompilerWrapper.cs
- TextBox.cs
- Int16Animation.cs
- SizeAnimationClockResource.cs
- AddingNewEventArgs.cs
- SequentialUshortCollection.cs
- OrthographicCamera.cs
- AnonymousIdentificationSection.cs
- FixUpCollection.cs
- ObservableDictionary.cs
- EdmPropertyAttribute.cs
- Subtree.cs
- XXXOnTypeBuilderInstantiation.cs
- MarkupCompilePass1.cs
- SizeIndependentAnimationStorage.cs
- BitmapData.cs
- TemplateAction.cs
- IpcPort.cs
- ManagementNamedValueCollection.cs
- ErrorFormatter.cs
- ConnectionPoolRegistry.cs
- ProgressBarHighlightConverter.cs
- ConversionContext.cs
- TextElementEnumerator.cs
- WindowsTooltip.cs
- XmlSchemaSearchPattern.cs
- InputEventArgs.cs
- ValidationResult.cs
- HttpDictionary.cs
- MergablePropertyAttribute.cs
- ResolveNextArgumentWorkItem.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- UncommonField.cs
- Calendar.cs
- ApplicationServicesHostFactory.cs
- RoutedPropertyChangedEventArgs.cs
- MergeFilterQuery.cs
- EnumBuilder.cs
- SerializationTrace.cs
- EntityKeyElement.cs
- RuntimeResourceSet.cs
- StorageScalarPropertyMapping.cs
- HostAdapter.cs
- SecurityCriticalDataForSet.cs
- HttpChannelBindingToken.cs
- QilLoop.cs
- Grid.cs
- SqlGatherProducedAliases.cs
- MsmqChannelFactory.cs
- SqlUDTStorage.cs
- WindowsScrollBar.cs
- RulePatternOps.cs
- Blend.cs
- XmlSubtreeReader.cs
- SQLInt64.cs
- _TimerThread.cs
- DesignerSerializationOptionsAttribute.cs
- ChildrenQuery.cs
- DataGridViewTextBoxEditingControl.cs
- SqlDataRecord.cs
- PassportPrincipal.cs
- WebDescriptionAttribute.cs
- Evidence.cs
- XmlSchemaImport.cs
- SchemaLookupTable.cs
- TypedReference.cs
- CapabilitiesPattern.cs
- EntityDataSourceState.cs
- DataRelationCollection.cs
- metadatamappinghashervisitor.cs
- UnsafeNativeMethods.cs
- TreeBuilderBamlTranslator.cs