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
- ToolStripPanelSelectionBehavior.cs
- AssemblyInfo.cs
- EdmSchemaError.cs
- VisualProxy.cs
- EntityCommandCompilationException.cs
- IndexerNameAttribute.cs
- AnonymousIdentificationModule.cs
- OleDbPropertySetGuid.cs
- InputGestureCollection.cs
- Image.cs
- TreeWalkHelper.cs
- PrePostDescendentsWalker.cs
- WebConfigurationManager.cs
- ColorTranslator.cs
- precedingquery.cs
- LoginUtil.cs
- DataObjectMethodAttribute.cs
- ViewGenResults.cs
- DataGridViewIntLinkedList.cs
- MeasurementDCInfo.cs
- GeometryGroup.cs
- HttpCookie.cs
- BitmapSizeOptions.cs
- StronglyTypedResourceBuilder.cs
- JsonSerializer.cs
- figurelength.cs
- Encoder.cs
- CompatibleIComparer.cs
- PrintDocument.cs
- NetSectionGroup.cs
- LinqDataSourceHelper.cs
- _SSPISessionCache.cs
- XmlAttributeHolder.cs
- SqlBulkCopyColumnMappingCollection.cs
- WorkflowApplicationException.cs
- XamlSerializer.cs
- SortAction.cs
- WebPartAuthorizationEventArgs.cs
- XPathNodeList.cs
- DataGridCell.cs
- LinqDataSourceContextEventArgs.cs
- FilterInvalidBodyAccessException.cs
- SystemInformation.cs
- ProcessModule.cs
- ClientViaElement.cs
- TextBoxBase.cs
- MappingModelBuildProvider.cs
- TypefaceMetricsCache.cs
- SHA256.cs
- RemoteArgument.cs
- DataSourceGroupCollection.cs
- EventMappingSettingsCollection.cs
- KeyInterop.cs
- XmlDataSourceView.cs
- ButtonColumn.cs
- MsmqProcessProtocolHandler.cs
- OdbcConnectionFactory.cs
- ToolStrip.cs
- MeshGeometry3D.cs
- LineUtil.cs
- GridViewPageEventArgs.cs
- PersonalizationAdministration.cs
- MappingSource.cs
- ObjectSecurity.cs
- SiteMapNode.cs
- FunctionQuery.cs
- HttpBrowserCapabilitiesBase.cs
- ExpressionTextBox.xaml.cs
- Privilege.cs
- DSASignatureDeformatter.cs
- AddressingVersion.cs
- SerializableTypeCodeDomSerializer.cs
- MultipartContentParser.cs
- ResizeBehavior.cs
- Axis.cs
- Triplet.cs
- AjaxFrameworkAssemblyAttribute.cs
- MethodImplAttribute.cs
- WindowsIdentity.cs
- ServiceOperationListItem.cs
- TransformCryptoHandle.cs
- SchemaElement.cs
- ListViewItemEventArgs.cs
- UnsafeNativeMethods.cs
- WebBrowserEvent.cs
- VBCodeProvider.cs
- WmfPlaceableFileHeader.cs
- WindowsScroll.cs
- sqlser.cs
- NameScope.cs
- FastEncoder.cs
- XmlFormatWriterGenerator.cs
- GZipDecoder.cs
- AssemblyNameProxy.cs
- TabControlEvent.cs
- ListBoxItem.cs
- TableItemPattern.cs
- MessageDispatch.cs
- EpmHelper.cs
- DesignerActionMethodItem.cs