Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / ControlCachePolicy.cs / 1 / ControlCachePolicy.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.IO; using System.Text; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Web; using System.Web.Util; using System.Web.UI.WebControls; using System.Web.Caching; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ControlCachePolicy { private static ControlCachePolicy _cachePolicyStub = new ControlCachePolicy(); private BasePartialCachingControl _pcc; internal ControlCachePolicy() { } internal ControlCachePolicy(BasePartialCachingControl pcc) { _pcc = pcc; } internal static ControlCachePolicy GetCachePolicyStub() { // Return a stub, which returns SupportsCaching==false and throws on everything else. return _cachePolicyStub; } // Check whether it is valid to access properties on this object private void CheckValidCallingContext() { // If it's not being cached, the CachePolicy can't be used if (_pcc == null) { throw new HttpException( SR.GetString(SR.UC_not_cached)); } // Make sure it's not being used too late if (_pcc.ControlState >= ControlState.PreRendered) { throw new HttpException( SR.GetString(SR.UCCachePolicy_unavailable)); } } public bool SupportsCaching { get { // Caching is supported if we have a PartialCachingControl return (_pcc != null); } } public bool Cached { get { CheckValidCallingContext(); return !_pcc._cachingDisabled; } set { CheckValidCallingContext(); _pcc._cachingDisabled = !value; } } public TimeSpan Duration { get { CheckValidCallingContext(); return _pcc.Duration; } set { CheckValidCallingContext(); _pcc.Duration = value; } } public HttpCacheVaryByParams VaryByParams { get { CheckValidCallingContext(); return _pcc.VaryByParams; } } public string VaryByControl { get { CheckValidCallingContext(); return _pcc.VaryByControl; } set { CheckValidCallingContext(); _pcc.VaryByControl = value; } } public CacheDependency Dependency { get { CheckValidCallingContext(); return _pcc.Dependency; } set { CheckValidCallingContext(); _pcc.Dependency = value; } } public void SetVaryByCustom(string varyByCustom) { CheckValidCallingContext(); _pcc._varyByCustom = varyByCustom; } public void SetSlidingExpiration(bool useSlidingExpiration) { CheckValidCallingContext(); _pcc._useSlidingExpiration = useSlidingExpiration; } public void SetExpires(DateTime expirationTime) { CheckValidCallingContext(); _pcc._utcExpirationTime = DateTimeUtil.ConvertToUniversalTime(expirationTime); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI { using System; using System.IO; using System.Text; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.ComponentModel.Design; using System.Globalization; using System.Web; using System.Web.Util; using System.Web.UI.WebControls; using System.Web.Caching; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class ControlCachePolicy { private static ControlCachePolicy _cachePolicyStub = new ControlCachePolicy(); private BasePartialCachingControl _pcc; internal ControlCachePolicy() { } internal ControlCachePolicy(BasePartialCachingControl pcc) { _pcc = pcc; } internal static ControlCachePolicy GetCachePolicyStub() { // Return a stub, which returns SupportsCaching==false and throws on everything else. return _cachePolicyStub; } // Check whether it is valid to access properties on this object private void CheckValidCallingContext() { // If it's not being cached, the CachePolicy can't be used if (_pcc == null) { throw new HttpException( SR.GetString(SR.UC_not_cached)); } // Make sure it's not being used too late if (_pcc.ControlState >= ControlState.PreRendered) { throw new HttpException( SR.GetString(SR.UCCachePolicy_unavailable)); } } public bool SupportsCaching { get { // Caching is supported if we have a PartialCachingControl return (_pcc != null); } } public bool Cached { get { CheckValidCallingContext(); return !_pcc._cachingDisabled; } set { CheckValidCallingContext(); _pcc._cachingDisabled = !value; } } public TimeSpan Duration { get { CheckValidCallingContext(); return _pcc.Duration; } set { CheckValidCallingContext(); _pcc.Duration = value; } } public HttpCacheVaryByParams VaryByParams { get { CheckValidCallingContext(); return _pcc.VaryByParams; } } public string VaryByControl { get { CheckValidCallingContext(); return _pcc.VaryByControl; } set { CheckValidCallingContext(); _pcc.VaryByControl = value; } } public CacheDependency Dependency { get { CheckValidCallingContext(); return _pcc.Dependency; } set { CheckValidCallingContext(); _pcc.Dependency = value; } } public void SetVaryByCustom(string varyByCustom) { CheckValidCallingContext(); _pcc._varyByCustom = varyByCustom; } public void SetSlidingExpiration(bool useSlidingExpiration) { CheckValidCallingContext(); _pcc._useSlidingExpiration = useSlidingExpiration; } public void SetExpires(DateTime expirationTime) { CheckValidCallingContext(); _pcc._utcExpirationTime = DateTimeUtil.ConvertToUniversalTime(expirationTime); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CommonGetThemePartSize.cs
- DbMetaDataFactory.cs
- ErrorRuntimeConfig.cs
- AssemblyResolver.cs
- WsrmMessageInfo.cs
- ContextMenuService.cs
- DataGridViewCellStyleChangedEventArgs.cs
- DataSetViewSchema.cs
- CqlIdentifiers.cs
- NumericUpDownAccelerationCollection.cs
- PrivateFontCollection.cs
- Thickness.cs
- TextTreeNode.cs
- SecurityContextKeyIdentifierClause.cs
- WebPartConnectionsConnectVerb.cs
- TimelineClockCollection.cs
- DoWorkEventArgs.cs
- WsdlImporter.cs
- ActivityBuilderHelper.cs
- StreamUpdate.cs
- QueueSurrogate.cs
- WebDescriptionAttribute.cs
- AdornerPresentationContext.cs
- Imaging.cs
- FontResourceCache.cs
- DbDeleteCommandTree.cs
- XamlTypeMapper.cs
- DataControlFieldHeaderCell.cs
- HashHelpers.cs
- ModelFactory.cs
- XmlSchemaDocumentation.cs
- NavigatorOutput.cs
- IERequestCache.cs
- COM2TypeInfoProcessor.cs
- TextRangeSerialization.cs
- AnonymousIdentificationModule.cs
- x509utils.cs
- DesignRelationCollection.cs
- HttpApplicationFactory.cs
- ListViewItem.cs
- TextInfo.cs
- ConfigurationPropertyAttribute.cs
- SqlCommandSet.cs
- ListenerHandler.cs
- MgmtConfigurationRecord.cs
- QuaternionAnimation.cs
- HttpCookie.cs
- _IPv4Address.cs
- EntitySetBaseCollection.cs
- TextTrailingWordEllipsis.cs
- EnumValAlphaComparer.cs
- DependencyObject.cs
- ServiceDebugBehavior.cs
- EventSinkActivity.cs
- EnumUnknown.cs
- Identity.cs
- OleDbCommand.cs
- ToolstripProfessionalRenderer.cs
- ParserHooks.cs
- ResourceCategoryAttribute.cs
- AsynchronousChannelMergeEnumerator.cs
- RelationshipEndMember.cs
- AutoGeneratedField.cs
- FormatConvertedBitmap.cs
- DeclarativeCatalogPart.cs
- IriParsingElement.cs
- BehaviorService.cs
- Queue.cs
- HtmlSelect.cs
- DataBindEngine.cs
- DataPointer.cs
- WmpBitmapDecoder.cs
- SerTrace.cs
- StrokeDescriptor.cs
- Pair.cs
- StringArrayConverter.cs
- QuadraticBezierSegment.cs
- ProxyWebPartManager.cs
- ViewValidator.cs
- MessageQueuePermissionEntry.cs
- PropertyTabChangedEvent.cs
- DefaultCompensation.cs
- LayoutEditorPart.cs
- MediaCommands.cs
- BrowserInteropHelper.cs
- RowToFieldTransformer.cs
- AlternateViewCollection.cs
- IDQuery.cs
- dbenumerator.cs
- XmlChoiceIdentifierAttribute.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- SqlCommandSet.cs
- GroupBox.cs
- DataGridCell.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ProtocolViolationException.cs
- FixedFlowMap.cs
- _IPv6Address.cs
- SymmetricAlgorithm.cs
- TextDecoration.cs