Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SystemIPv4InterfaceProperties.cs
- RecordBuilder.cs
- GradientBrush.cs
- CompositeTypefaceMetrics.cs
- SqlIdentifier.cs
- EdmToObjectNamespaceMap.cs
- ProtocolsConfigurationHandler.cs
- ByteStreamGeometryContext.cs
- DbConnectionPool.cs
- EntityContainerAssociationSet.cs
- ClassHandlersStore.cs
- XmlBufferReader.cs
- UInt64Storage.cs
- WeakReference.cs
- BulletDecorator.cs
- BufferedStream.cs
- TransformGroup.cs
- MimeObjectFactory.cs
- Formatter.cs
- ExpressionParser.cs
- ThreadLocal.cs
- FixedFindEngine.cs
- SByte.cs
- BindableTemplateBuilder.cs
- XPathDocumentBuilder.cs
- DependencyObjectType.cs
- DelegatingConfigHost.cs
- XmlLanguage.cs
- PaintValueEventArgs.cs
- CustomMenuItemCollection.cs
- AutomationProperty.cs
- UriTemplateCompoundPathSegment.cs
- WebSysDisplayNameAttribute.cs
- WebConfigurationHost.cs
- AdapterUtil.cs
- XmlSchemaRedefine.cs
- DebugController.cs
- DesignerActionUIService.cs
- BinaryObjectReader.cs
- FloaterBaseParagraph.cs
- InputReferenceExpression.cs
- PassportAuthentication.cs
- ContainerParagraph.cs
- ForwardPositionQuery.cs
- MsmqQueue.cs
- ReadOnlyPropertyMetadata.cs
- PropertyEmitter.cs
- Console.cs
- Rect3DConverter.cs
- DesignerVerbToolStripMenuItem.cs
- SqlServices.cs
- WorkflowDesigner.cs
- odbcmetadatacollectionnames.cs
- DecimalFormatter.cs
- KnownTypeHelper.cs
- XhtmlBasicPhoneCallAdapter.cs
- StagingAreaInputItem.cs
- EncodingDataItem.cs
- FixedBufferAttribute.cs
- LineBreakRecord.cs
- IIS7WorkerRequest.cs
- ToolStripAdornerWindowService.cs
- XmlDataImplementation.cs
- SizeChangedInfo.cs
- CodeAttributeArgument.cs
- AlgoModule.cs
- StylusEditingBehavior.cs
- TypeBuilder.cs
- CultureNotFoundException.cs
- HeaderedContentControl.cs
- FixUp.cs
- Optimizer.cs
- TraceSection.cs
- ReceiveSecurityHeaderEntry.cs
- CodeTypeReferenceExpression.cs
- ExpressionPrefixAttribute.cs
- MemberInfoSerializationHolder.cs
- ImageClickEventArgs.cs
- XsltConvert.cs
- CompilerGlobalScopeAttribute.cs
- String.cs
- CharacterShapingProperties.cs
- _ConnectStream.cs
- MemoryPressure.cs
- CursorConverter.cs
- SelectionProviderWrapper.cs
- AccessibleObject.cs
- ExtensionWindowHeader.cs
- CodeTypeMember.cs
- ControlBindingsConverter.cs
- DllNotFoundException.cs
- EmptyControlCollection.cs
- RuntimeResourceSet.cs
- MD5CryptoServiceProvider.cs
- DataGridHelper.cs
- BinaryParser.cs
- RequestQueue.cs
- ToolStripContainer.cs
- WebPartZoneBaseDesigner.cs
- RadioButton.cs