Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.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
- WebPartTransformer.cs
- Column.cs
- HostedAspNetEnvironment.cs
- ObjectDataSourceChooseTypePanel.cs
- RetrieveVirtualItemEventArgs.cs
- IntranetCredentialPolicy.cs
- HtmlInputFile.cs
- RestClientProxyHandler.cs
- SpellerStatusTable.cs
- Baml2006ReaderContext.cs
- XamlReaderConstants.cs
- Regex.cs
- GetIndexBinder.cs
- ServiceThrottle.cs
- MarkedHighlightComponent.cs
- TextTreeRootNode.cs
- KnownBoxes.cs
- SoapClientProtocol.cs
- HopperCache.cs
- WebPartHeaderCloseVerb.cs
- OptimalBreakSession.cs
- BinaryFormatter.cs
- SchemaImporterExtensionElementCollection.cs
- ProtocolsConfigurationHandler.cs
- DataTableTypeConverter.cs
- JoinCqlBlock.cs
- RangeValueProviderWrapper.cs
- SqlMethodTransformer.cs
- mediapermission.cs
- _LazyAsyncResult.cs
- PrintControllerWithStatusDialog.cs
- XmlSchemaObject.cs
- OperationInvokerBehavior.cs
- DesignerSerializationManager.cs
- ToolBarTray.cs
- ScrollEventArgs.cs
- X509CertificateTrustedIssuerElementCollection.cs
- SortDescription.cs
- SortedDictionary.cs
- MexTcpBindingCollectionElement.cs
- AppearanceEditorPart.cs
- ValidationEventArgs.cs
- Win32MouseDevice.cs
- FastEncoder.cs
- DataViewSetting.cs
- Rect3D.cs
- SchemaElementDecl.cs
- PackWebRequest.cs
- ExtenderControl.cs
- PeerOutputChannel.cs
- DataGridViewCellLinkedList.cs
- RoutedEventHandlerInfo.cs
- PageParserFilter.cs
- CodeGenerator.cs
- PropertyTabChangedEvent.cs
- TraversalRequest.cs
- Crc32.cs
- DefaultMemberAttribute.cs
- CodeCatchClauseCollection.cs
- AnimationClockResource.cs
- ProbeMatchesCD1.cs
- SqlUtils.cs
- ProcessModule.cs
- HtmlInputControl.cs
- LicenseManager.cs
- PlatformCulture.cs
- DocumentEventArgs.cs
- AlphabeticalEnumConverter.cs
- ImageSourceConverter.cs
- RC2CryptoServiceProvider.cs
- DashStyle.cs
- DataReaderContainer.cs
- GeneralTransform3DTo2DTo3D.cs
- ClientSettings.cs
- SqlConnectionFactory.cs
- ADConnectionHelper.cs
- IssuanceLicense.cs
- MsmqReceiveHelper.cs
- CheckBoxStandardAdapter.cs
- GroupedContextMenuStrip.cs
- OleDbRowUpdatingEvent.cs
- WrapPanel.cs
- BaseConfigurationRecord.cs
- CollectionBuilder.cs
- InputBuffer.cs
- BinaryFormatterWriter.cs
- _NegoState.cs
- ConfigurationElementProperty.cs
- StylusOverProperty.cs
- AutoResizedEvent.cs
- ApplicationContext.cs
- NetworkAddressChange.cs
- TextTreePropertyUndoUnit.cs
- Validator.cs
- ToolStripStatusLabel.cs
- DataAdapter.cs
- SettingsAttributes.cs
- UnitySerializationHolder.cs
- ExtendedProperty.cs
- ControlParameter.cs