Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UnsafeNativeMethods.cs
- AccessViolationException.cs
- SizeLimitedCache.cs
- PolyLineSegmentFigureLogic.cs
- IImplicitResourceProvider.cs
- OleTxTransaction.cs
- TextElementEditingBehaviorAttribute.cs
- PolicyImporterElement.cs
- XPathParser.cs
- GlobalizationAssembly.cs
- NameValueConfigurationCollection.cs
- HttpClientCertificate.cs
- AutoResetEvent.cs
- BeginStoryboard.cs
- SettingsPropertyNotFoundException.cs
- WorkflowInstance.cs
- TreeIterators.cs
- VisualTreeHelper.cs
- SecuritySessionClientSettings.cs
- SqlDataReaderSmi.cs
- Int64Storage.cs
- CoreSwitches.cs
- OptionalColumn.cs
- ParserContext.cs
- Quad.cs
- AllowedAudienceUriElementCollection.cs
- SimpleFieldTemplateFactory.cs
- ActionFrame.cs
- PrtTicket_Public_Simple.cs
- SecurityTokenTypes.cs
- JobInputBins.cs
- EndpointAddressAugust2004.cs
- EndPoint.cs
- JapaneseLunisolarCalendar.cs
- XmlEncodedRawTextWriter.cs
- DeclarativeCatalogPart.cs
- CodeGenerator.cs
- PropertyKey.cs
- HwndStylusInputProvider.cs
- DocumentGridContextMenu.cs
- DependencyObjectPropertyDescriptor.cs
- BooleanSwitch.cs
- ZoomComboBox.cs
- AutomationElement.cs
- QilGeneratorEnv.cs
- NetworkInformationPermission.cs
- SerialPort.cs
- GridViewCancelEditEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- Atom10ItemFormatter.cs
- FixedTextSelectionProcessor.cs
- CssTextWriter.cs
- OptimisticConcurrencyException.cs
- ParentQuery.cs
- DatasetMethodGenerator.cs
- ModelPropertyImpl.cs
- StateManagedCollection.cs
- RadioButtonStandardAdapter.cs
- DictionaryGlobals.cs
- Deflater.cs
- PropertyFilterAttribute.cs
- RSAOAEPKeyExchangeFormatter.cs
- RightsManagementInformation.cs
- EmptyEnumerator.cs
- StackSpiller.Generated.cs
- PartialList.cs
- InvalidOleVariantTypeException.cs
- UIElementCollection.cs
- ObjectDataSourceFilteringEventArgs.cs
- DataGridViewHeaderCell.cs
- FloaterBaseParagraph.cs
- SendOperation.cs
- DesignerProperties.cs
- VisualProxy.cs
- WpfKnownTypeInvoker.cs
- StopStoryboard.cs
- AggregateNode.cs
- Serializer.cs
- EndpointDiscoveryElement.cs
- TailPinnedEventArgs.cs
- IPCCacheManager.cs
- TableLayoutPanel.cs
- DataGridRowHeader.cs
- DCSafeHandle.cs
- SqlColumnizer.cs
- Statements.cs
- SetterBaseCollection.cs
- XPathNavigator.cs
- DeferredReference.cs
- ModuleElement.cs
- ByteStream.cs
- ConfigXmlElement.cs
- VarRemapper.cs
- OperationCanceledException.cs
- NavigationProperty.cs
- SafeNativeMemoryHandle.cs
- relpropertyhelper.cs
- RightsManagementInformation.cs
- VisualTransition.cs
- Currency.cs