Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- ConstructorExpr.cs
- SystemNetHelpers.cs
- ProxyWebPart.cs
- RC2CryptoServiceProvider.cs
- HttpWriter.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- FontNamesConverter.cs
- SqlCommand.cs
- KeyInfo.cs
- X509CertificateStore.cs
- PhysicalAddress.cs
- Highlights.cs
- QueryContinueDragEvent.cs
- DataGridTextBoxColumn.cs
- TransformGroup.cs
- ReceiveActivityValidator.cs
- AssemblyNameProxy.cs
- WebBrowserHelper.cs
- TableCell.cs
- Matrix.cs
- BooleanKeyFrameCollection.cs
- OracleParameterBinding.cs
- ToolBarTray.cs
- WindowsGraphics.cs
- _LazyAsyncResult.cs
- ObjectPersistData.cs
- LocalizationParserHooks.cs
- XmlNodeComparer.cs
- PlatformNotSupportedException.cs
- AddingNewEventArgs.cs
- DrawingCollection.cs
- TerminatorSinks.cs
- documentation.cs
- SettingsBindableAttribute.cs
- SelectionItemProviderWrapper.cs
- Binding.cs
- WrappedIUnknown.cs
- ThreadLocal.cs
- FamilyTypefaceCollection.cs
- initElementDictionary.cs
- TextEditorLists.cs
- objectquery_tresulttype.cs
- typedescriptorpermissionattribute.cs
- ObjectNotFoundException.cs
- Message.cs
- PropertyHelper.cs
- MaskedTextBoxDesigner.cs
- ToolBarTray.cs
- ServicePointManagerElement.cs
- XNodeValidator.cs
- ReadOnlyCollection.cs
- OnOperation.cs
- AsyncOperationContext.cs
- CompositeTypefaceMetrics.cs
- HandleCollector.cs
- printdlgexmarshaler.cs
- DataGridHeaderBorder.cs
- ObjectPersistData.cs
- HtmlTableRowCollection.cs
- GridViewDeletedEventArgs.cs
- BitmapMetadataEnumerator.cs
- InputElement.cs
- DataRowChangeEvent.cs
- ObjectDataSourceView.cs
- DetailsViewDeletedEventArgs.cs
- ToolStripScrollButton.cs
- LabelDesigner.cs
- SystemColorTracker.cs
- MdiWindowListItemConverter.cs
- GuidConverter.cs
- HttpClientProtocol.cs
- Padding.cs
- EntityCommand.cs
- ImportOptions.cs
- AssemblyFilter.cs
- DownloadProgressEventArgs.cs
- Geometry3D.cs
- WebPartHelpVerb.cs
- InvalidDataContractException.cs
- BlockUIContainer.cs
- DataBindEngine.cs
- Bits.cs
- PropertyInformationCollection.cs
- WebPartDisplayModeCollection.cs
- CustomDictionarySources.cs
- WindowsScrollBarBits.cs
- PointAnimationBase.cs
- latinshape.cs
- VisualStyleElement.cs
- XsltContext.cs
- COM2IDispatchConverter.cs
- BitHelper.cs
- BindingManagerDataErrorEventArgs.cs
- ServerValidateEventArgs.cs
- SystemIdentity.cs
- VisemeEventArgs.cs
- XmlILIndex.cs
- NameValueFileSectionHandler.cs
- ContentElement.cs
- SiteMapNodeItem.cs