Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / HttpCacheVaryByContentEncodings.cs / 1 / HttpCacheVaryByContentEncodings.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * HttpCacheVaryByContentEncodings * * Copyright (c) 1998 Microsoft Corporation */ namespace System.Web { using System.Text; using System.Runtime.InteropServices; using System.Web.Util; using System.Security.Permissions; ////// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class HttpCacheVaryByContentEncodings { String[] _contentEncodings; bool _isModified; internal HttpCacheVaryByContentEncodings() { Reset(); } internal void Reset() { _isModified = false; _contentEncodings = null; } /* * Reset based on content encodings. */ internal void ResetFromContentEncodings(String[] contentEncodings) { Reset(); if (contentEncodings != null) { _isModified = true; _contentEncodings = new String[contentEncodings.Length]; for (int i = 0; i < contentEncodings.Length; i++) { _contentEncodings[i] = contentEncodings[i]; } } } // the response is not cacheable if we're varying by content encoding // and the content-encoding header is not one of the encodings that we're // varying by internal bool IsCacheableEncoding(string coding) { // return true if we are not varying by content encoding. if (_contentEncodings == null) { return true; } // return true if there is no Content-Encoding header if (coding == null) { return true; } // return true if the Content-Encoding header is listed for (int i = 0; i < _contentEncodings.Length; i++) { if (_contentEncodings[i] == coding) { return true; } } // return false if the Content-Encoding header is not listed return false; } internal bool IsModified() { return _isModified; } internal String[] GetContentEncodings() { return _contentEncodings; } // // Public methods and properties // ///Provides a type-safe way to vary by Content-Encoding. ////// public bool this[String contentEncoding] { get { if (String.IsNullOrEmpty(contentEncoding)) { throw new ArgumentNullException(SR.GetString(SR.Parameter_NullOrEmpty, "contentEncoding")); } if (_contentEncodings == null) { return false; } for(int i = 0; i < _contentEncodings.Length; i++) { if (_contentEncodings[i] == contentEncoding) { return true; } } return false; } set { if (String.IsNullOrEmpty(contentEncoding)) { throw new ArgumentNullException(SR.GetString(SR.Parameter_NullOrEmpty, "contentEncoding")); } // if someone enabled it, don't allow someone else to disable it. if (!value) { return; } _isModified = true; if (_contentEncodings != null) { string[] contentEncodings = new String[_contentEncodings.Length + 1]; for (int i = 0; i < _contentEncodings.Length; i++) { contentEncodings[i] = _contentEncodings[i]; } contentEncodings[contentEncodings.Length - 1] = contentEncoding; _contentEncodings = contentEncodings; return; } _contentEncodings = new String[1]; _contentEncodings[0] = contentEncoding; } } } }Default property. /// Indexed property indicating that a cache should (or should not) vary according /// to a Content-Encoding. ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ClassImporter.cs
- SeverityFilter.cs
- Convert.cs
- httpstaticobjectscollection.cs
- TextEditorSelection.cs
- EventWaitHandle.cs
- AxDesigner.cs
- DataServiceRequest.cs
- ReliableInputConnection.cs
- Page.cs
- ImmComposition.cs
- SQLDouble.cs
- ListViewGroupItemCollection.cs
- TypeDelegator.cs
- PeerToPeerException.cs
- GraphicsPath.cs
- Positioning.cs
- UpdatePanel.cs
- UnsafePeerToPeerMethods.cs
- MissingManifestResourceException.cs
- HttpCapabilitiesBase.cs
- WriteTimeStream.cs
- MessageBox.cs
- TreeIterators.cs
- SQLChars.cs
- BufferBuilder.cs
- SignerInfo.cs
- Parsers.cs
- StrongNameKeyPair.cs
- ProgressBarAutomationPeer.cs
- ObservableCollection.cs
- SoapTypeAttribute.cs
- Funcletizer.cs
- ValueChangedEventManager.cs
- WpfWebRequestHelper.cs
- HandledMouseEvent.cs
- SqlTriggerContext.cs
- SimpleHandlerBuildProvider.cs
- EventHandlerList.cs
- ButtonRenderer.cs
- XPathNavigatorReader.cs
- DataGridViewComponentPropertyGridSite.cs
- MouseGestureValueSerializer.cs
- GridViewColumn.cs
- PolyBezierSegment.cs
- DataGridViewButtonCell.cs
- StylusPointProperty.cs
- CollectionEditor.cs
- AttachedPropertiesService.cs
- webclient.cs
- InternalConfigSettingsFactory.cs
- SqlDataSourceCommandEventArgs.cs
- HttpClientCertificate.cs
- ValidatingReaderNodeData.cs
- TextAutomationPeer.cs
- TargetInvocationException.cs
- ValueType.cs
- __TransparentProxy.cs
- HotSpot.cs
- AnimationClockResource.cs
- ProxyWebPartConnectionCollection.cs
- ConfigurationException.cs
- AsyncOperation.cs
- DefaultTextStore.cs
- SystemTcpStatistics.cs
- jithelpers.cs
- AdornerDecorator.cs
- SiblingIterators.cs
- Vector3DCollection.cs
- SynchronizedInputAdaptor.cs
- SafeHandle.cs
- CacheMemory.cs
- HttpModuleActionCollection.cs
- SystemFonts.cs
- DictationGrammar.cs
- ICspAsymmetricAlgorithm.cs
- AnyReturnReader.cs
- PasswordBox.cs
- QueueProcessor.cs
- ControlBuilder.cs
- EventArgs.cs
- LoginUtil.cs
- ScriptResourceDefinition.cs
- SettingsSavedEventArgs.cs
- PersonalizationProviderHelper.cs
- RelationshipEnd.cs
- DbProviderManifest.cs
- DefaultParameterValueAttribute.cs
- NativeObjectSecurity.cs
- EnumerableWrapperWeakToStrong.cs
- ReceiveSecurityHeaderElementManager.cs
- IconConverter.cs
- SqlXmlStorage.cs
- ConvertTextFrag.cs
- DataGridViewTopLeftHeaderCell.cs
- WindowsFormsLinkLabel.cs
- BaseInfoTable.cs
- ComEventsInfo.cs
- RectConverter.cs
- NativeCppClassAttribute.cs