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
- ActivityExecutionContextCollection.cs
- FixedBufferAttribute.cs
- CustomCredentialPolicy.cs
- DesignObjectWrapper.cs
- ParserExtension.cs
- ColorAnimationUsingKeyFrames.cs
- ContextInformation.cs
- Attribute.cs
- Polygon.cs
- SQLConvert.cs
- SqlDataRecord.cs
- Model3DGroup.cs
- ToolStripGrip.cs
- PersistenceMetadataNamespace.cs
- DataMemberAttribute.cs
- XmlDataSourceView.cs
- TypeDelegator.cs
- ListView.cs
- UnsafeNativeMethods.cs
- IntSecurity.cs
- MenuTracker.cs
- DynamicPropertyReader.cs
- SubMenuStyleCollection.cs
- VirtualizedContainerService.cs
- XhtmlBasicObjectListAdapter.cs
- ParameterModifier.cs
- ControlDesigner.cs
- WindowsGraphics2.cs
- CodeTypeMemberCollection.cs
- PageTextBox.cs
- TreeNodeMouseHoverEvent.cs
- Registry.cs
- TypeInfo.cs
- WebBrowserDesigner.cs
- SharedDp.cs
- SimpleWorkerRequest.cs
- DoubleConverter.cs
- CompModHelpers.cs
- XmlEntity.cs
- TypefaceMap.cs
- Pens.cs
- ProvidePropertyAttribute.cs
- ITreeGenerator.cs
- ImageListStreamer.cs
- TextControlDesigner.cs
- SqlIdentifier.cs
- TypeConverter.cs
- RoutedEventHandlerInfo.cs
- entityreference_tresulttype.cs
- GuidelineSet.cs
- Matrix3D.cs
- MissingMethodException.cs
- FrugalMap.cs
- WebPartManagerDesigner.cs
- Int16KeyFrameCollection.cs
- DynamicILGenerator.cs
- CalendarModeChangedEventArgs.cs
- PreservationFileWriter.cs
- FormViewInsertEventArgs.cs
- System.Data.OracleClient_BID.cs
- BindingExpressionBase.cs
- IODescriptionAttribute.cs
- XmlSchemaInclude.cs
- _ConnectStream.cs
- SqlProviderManifest.cs
- FullTextState.cs
- smtpconnection.cs
- SqlMethods.cs
- FloaterBaseParagraph.cs
- Rotation3D.cs
- NavigatingCancelEventArgs.cs
- TextEditorLists.cs
- Error.cs
- DeferredReference.cs
- InfoCardBaseException.cs
- Unit.cs
- ToolBar.cs
- PackWebResponse.cs
- SiteMapDataSourceView.cs
- UriTemplatePathSegment.cs
- FormsAuthenticationConfiguration.cs
- ReadWriteSpinLock.cs
- InProcStateClientManager.cs
- _NativeSSPI.cs
- RoleService.cs
- TemplateEditingFrame.cs
- COM2TypeInfoProcessor.cs
- DataServiceStreamResponse.cs
- GraphicsState.cs
- WindowsTitleBar.cs
- FixedLineResult.cs
- PermissionAttributes.cs
- DiscoveryDocumentSerializer.cs
- MonikerUtility.cs
- mediapermission.cs
- ReferentialConstraint.cs
- NavigatorInput.cs
- OdbcConnectionHandle.cs
- TrackingServices.cs
- HMAC.cs