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
- metadatamappinghashervisitor.cs
- TypeLibConverter.cs
- URLMembershipCondition.cs
- HMACMD5.cs
- SignatureConfirmationElement.cs
- Encoder.cs
- GlobalProxySelection.cs
- DiscoveryClient.cs
- TextServicesCompartmentContext.cs
- SettingsPropertyNotFoundException.cs
- ACE.cs
- FunctionImportMapping.cs
- HttpException.cs
- SizeFConverter.cs
- Keyboard.cs
- LogSwitch.cs
- PackUriHelper.cs
- SelectedCellsCollection.cs
- AutoGeneratedFieldProperties.cs
- BitStream.cs
- SessionStateContainer.cs
- XmlSchemaGroup.cs
- ImportContext.cs
- TreeView.cs
- CollectionDataContract.cs
- Typography.cs
- CodeMethodInvokeExpression.cs
- SettingsBase.cs
- XmlSchemaSubstitutionGroup.cs
- StringValidator.cs
- StringComparer.cs
- ProjectionPruner.cs
- XPathParser.cs
- KnownTypeAttribute.cs
- FrameSecurityDescriptor.cs
- QuadTree.cs
- ManagedFilter.cs
- TheQuery.cs
- AssociationSetMetadata.cs
- DataGridHeaderBorder.cs
- DbCommandTree.cs
- ExpressionNode.cs
- BooleanStorage.cs
- TextBoxBase.cs
- RewritingSimplifier.cs
- Monitor.cs
- ZipIORawDataFileBlock.cs
- SequentialWorkflowHeaderFooter.cs
- InstanceOwner.cs
- StreamUpdate.cs
- StylusOverProperty.cs
- EmptyControlCollection.cs
- MenuTracker.cs
- WebPartMenu.cs
- SafeSystemMetrics.cs
- SpellerStatusTable.cs
- TextInfo.cs
- TextSimpleMarkerProperties.cs
- IListConverters.cs
- BmpBitmapEncoder.cs
- ExpressionBuilderCollection.cs
- BitmapSourceSafeMILHandle.cs
- BaseCollection.cs
- DefaultSerializationProviderAttribute.cs
- CharAnimationBase.cs
- WindowClosedEventArgs.cs
- ViewManager.cs
- TextServicesProperty.cs
- FileUpload.cs
- FilterElement.cs
- EFColumnProvider.cs
- ListViewCancelEventArgs.cs
- InlineObject.cs
- PathHelper.cs
- HashCodeCombiner.cs
- InputBinder.cs
- Connector.cs
- PageFunction.cs
- ISFTagAndGuidCache.cs
- PropertyEmitterBase.cs
- ColorConverter.cs
- ConnectionConsumerAttribute.cs
- NullableDoubleMinMaxAggregationOperator.cs
- FixedHighlight.cs
- FlowDocumentView.cs
- ClearTypeHintValidation.cs
- LocationSectionRecord.cs
- XmlAggregates.cs
- InkCollectionBehavior.cs
- GridView.cs
- InheritanceContextHelper.cs
- MessageBox.cs
- FlowDocumentPage.cs
- BindingCompleteEventArgs.cs
- EqualityComparer.cs
- DecodeHelper.cs
- NamespaceInfo.cs
- SoapSchemaImporter.cs
- ValueHandle.cs
- RepeaterItem.cs