Code:
/ FX-1434 / FX-1434 / 1.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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DataGridViewCellPaintingEventArgs.cs
- fixedPageContentExtractor.cs
- EntityDataSourceSelectingEventArgs.cs
- VerificationAttribute.cs
- CommonRemoteMemoryBlock.cs
- CallbackValidatorAttribute.cs
- MatchingStyle.cs
- OracleBFile.cs
- TextEffect.cs
- CompositeCollection.cs
- Color.cs
- xml.cs
- BrowserTree.cs
- DataListItemEventArgs.cs
- TokenBasedSet.cs
- Encoder.cs
- VectorConverter.cs
- BaseDataBoundControl.cs
- FlowDocumentPaginator.cs
- NumericPagerField.cs
- TraceContext.cs
- BitmapSizeOptions.cs
- RadioButtonStandardAdapter.cs
- DbModificationClause.cs
- RealProxy.cs
- DataGridViewRowCancelEventArgs.cs
- TypeExtension.cs
- FSWPathEditor.cs
- MenuItemStyle.cs
- BinaryMessageFormatter.cs
- ConnectionConsumerAttribute.cs
- ExpressionBuilder.cs
- WsatEtwTraceListener.cs
- TextDocumentView.cs
- PackageRelationshipSelector.cs
- parserscommon.cs
- MenuBase.cs
- StrongNameKeyPair.cs
- FormatConvertedBitmap.cs
- EntityProviderServices.cs
- PartialCachingControl.cs
- CompilerGeneratedAttribute.cs
- WebUtil.cs
- ColorConvertedBitmap.cs
- ChangeInterceptorAttribute.cs
- RadioButtonRenderer.cs
- OleDbTransaction.cs
- HtmlTableRowCollection.cs
- _SslSessionsCache.cs
- ToolConsole.cs
- HealthMonitoringSectionHelper.cs
- CodeAttributeDeclarationCollection.cs
- SafeCryptoHandles.cs
- PnrpPermission.cs
- ServerValidateEventArgs.cs
- ContainerFilterService.cs
- ScaleTransform3D.cs
- SingleResultAttribute.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- WorkflowPageSetupDialog.cs
- NamedPipeTransportSecurity.cs
- LineProperties.cs
- WorkflowHostingResponseContext.cs
- DynamicObjectAccessor.cs
- RolePrincipal.cs
- DataTableReader.cs
- PagerSettings.cs
- XmlNodeList.cs
- LocationSectionRecord.cs
- System.Data.OracleClient_BID.cs
- ForeignKeyConstraint.cs
- ParsedRoute.cs
- Model3D.cs
- InstanceKeyNotReadyException.cs
- SafeFindHandle.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SecureEnvironment.cs
- SchemaUtility.cs
- WebEvents.cs
- elementinformation.cs
- ListView.cs
- InstanceView.cs
- RequestTimeoutManager.cs
- EditorAttribute.cs
- ToolStripProgressBar.cs
- OleDbEnumerator.cs
- RSAOAEPKeyExchangeFormatter.cs
- XmlSchemaProviderAttribute.cs
- TextAutomationPeer.cs
- parserscommon.cs
- SizeConverter.cs
- EntityViewGenerationConstants.cs
- CharUnicodeInfo.cs
- TextTreeRootNode.cs
- NetCodeGroup.cs
- EventRoute.cs
- SpellCheck.cs
- SelectorAutomationPeer.cs
- DisplayNameAttribute.cs
- ScrollChrome.cs