Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / ControlCachePolicy.cs / 1305376 / 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; 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); } public String ProviderName { get { CheckValidCallingContext(); if (_pcc._provider == null) { return OutputCache.ASPNET_INTERNAL_PROVIDER_NAME; } else { return _pcc._provider; } } set { CheckValidCallingContext(); if (value == OutputCache.ASPNET_INTERNAL_PROVIDER_NAME) { value = null; } OutputCache.ThrowIfProviderNotFound(value); _pcc._provider = value; } } } } // 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; 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); } public String ProviderName { get { CheckValidCallingContext(); if (_pcc._provider == null) { return OutputCache.ASPNET_INTERNAL_PROVIDER_NAME; } else { return _pcc._provider; } } set { CheckValidCallingContext(); if (value == OutputCache.ASPNET_INTERNAL_PROVIDER_NAME) { value = null; } OutputCache.ThrowIfProviderNotFound(value); _pcc._provider = value; } } } } // 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
- WebPartsPersonalization.cs
- HierarchicalDataSourceControl.cs
- EditorPartCollection.cs
- messageonlyhwndwrapper.cs
- Int32RectValueSerializer.cs
- AppDomainFactory.cs
- ColumnWidthChangingEvent.cs
- ExternalException.cs
- OracleBinary.cs
- PartitionedStreamMerger.cs
- RegexCompiler.cs
- SerialPort.cs
- FastEncoderWindow.cs
- WizardPanel.cs
- XmlAutoDetectWriter.cs
- TransactionScope.cs
- PointCollection.cs
- DynamicUpdateCommand.cs
- UriTemplateClientFormatter.cs
- bindurihelper.cs
- CellPartitioner.cs
- BCryptHashAlgorithm.cs
- PointAnimationClockResource.cs
- Rotation3D.cs
- ImageMap.cs
- RIPEMD160.cs
- DataGridViewRowCollection.cs
- RangeBaseAutomationPeer.cs
- HashStream.cs
- InputLanguageCollection.cs
- WebConfigurationManager.cs
- OletxCommittableTransaction.cs
- MatrixKeyFrameCollection.cs
- Preprocessor.cs
- CmsInterop.cs
- RecordsAffectedEventArgs.cs
- TypeReference.cs
- GeometryConverter.cs
- DataGridRowHeaderAutomationPeer.cs
- ListViewUpdateEventArgs.cs
- LayoutTable.cs
- InvokeSchedule.cs
- Model3D.cs
- SrgsDocument.cs
- MachineKeyConverter.cs
- MetadataUtilsSmi.cs
- CompletedAsyncResult.cs
- SoapHeaderException.cs
- FrameworkContentElement.cs
- DoubleLinkListEnumerator.cs
- TypeDescriptor.cs
- BitmapDownload.cs
- XmlTextEncoder.cs
- OleDbRowUpdatedEvent.cs
- Composition.cs
- XmlElementAttributes.cs
- SeekStoryboard.cs
- ErrorHandler.cs
- AdapterUtil.cs
- CodeDelegateInvokeExpression.cs
- DrawListViewColumnHeaderEventArgs.cs
- ManagementEventWatcher.cs
- MSAAEventDispatcher.cs
- Convert.cs
- Hashtable.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- Reference.cs
- PerformanceCounterPermission.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- TextEndOfParagraph.cs
- ThicknessAnimationUsingKeyFrames.cs
- SafeMILHandleMemoryPressure.cs
- BlurEffect.cs
- UiaCoreProviderApi.cs
- Collection.cs
- ElementNotEnabledException.cs
- SectionVisual.cs
- WSTrustDec2005.cs
- SystemInformation.cs
- LinqDataSource.cs
- WpfXamlLoader.cs
- XmlWriter.cs
- XmlElementAttribute.cs
- WmlImageAdapter.cs
- FontStyles.cs
- HttpConfigurationSystem.cs
- SessionStateUtil.cs
- EntityDataSourceViewSchema.cs
- wmiutil.cs
- ProfilePropertySettings.cs
- ColumnTypeConverter.cs
- TextParaLineResult.cs
- TreeSet.cs
- DeclarativeCatalogPartDesigner.cs
- TdsEnums.cs
- SafeThemeHandle.cs
- CustomAttributeFormatException.cs
- ResXFileRef.cs
- URLIdentityPermission.cs
- ObsoleteAttribute.cs