Code:
/ FX-1434 / FX-1434 / 1.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
- JournalEntry.cs
- SqlConnectionHelper.cs
- ConfigXmlSignificantWhitespace.cs
- NullableFloatSumAggregationOperator.cs
- FaultFormatter.cs
- ContentPosition.cs
- CharacterHit.cs
- TableChangeProcessor.cs
- SettingsPropertyValue.cs
- SubstitutionResponseElement.cs
- FixedTextBuilder.cs
- SqlCacheDependencyDatabase.cs
- GlyphShapingProperties.cs
- HtmlLinkAdapter.cs
- VectorCollectionValueSerializer.cs
- PropertyEmitter.cs
- Int32Animation.cs
- ExpressionList.cs
- GlobalizationSection.cs
- TakeOrSkipQueryOperator.cs
- BindingOperations.cs
- Pen.cs
- SessionStateItemCollection.cs
- LowerCaseStringConverter.cs
- ListViewSelectEventArgs.cs
- DataGridViewSortCompareEventArgs.cs
- DataContext.cs
- TreeIterator.cs
- AuthorizationRuleCollection.cs
- translator.cs
- TraceUtility.cs
- ValueHandle.cs
- MetricEntry.cs
- TextChange.cs
- CoTaskMemHandle.cs
- XamlWrappingReader.cs
- HandlerBase.cs
- CngAlgorithm.cs
- DtrList.cs
- OdbcEnvironment.cs
- VirtualPathUtility.cs
- ListManagerBindingsCollection.cs
- TextBoxBase.cs
- GeneratedCodeAttribute.cs
- TraceContext.cs
- SelectorAutomationPeer.cs
- log.cs
- DependencyProperty.cs
- prefixendpointaddressmessagefilter.cs
- FormsAuthenticationCredentials.cs
- InstanceKeyNotReadyException.cs
- RelationshipNavigation.cs
- CodeVariableReferenceExpression.cs
- XamlWriter.cs
- CaseStatement.cs
- ServiceAuthorizationElement.cs
- Int32RectConverter.cs
- ViewKeyConstraint.cs
- DateTimeFormat.cs
- Script.cs
- SerializationInfoEnumerator.cs
- TypeNameConverter.cs
- AvTraceFormat.cs
- FacetEnabledSchemaElement.cs
- BindingsCollection.cs
- VirtualPathProvider.cs
- XamlToRtfWriter.cs
- XmlElementAttribute.cs
- ToolstripProfessionalRenderer.cs
- Pair.cs
- XamlTreeBuilderBamlRecordWriter.cs
- FormViewRow.cs
- XmlKeywords.cs
- ConfigXmlAttribute.cs
- XPathNode.cs
- MemberAccessException.cs
- RepeaterCommandEventArgs.cs
- ReadOnlyDictionary.cs
- RequestCachingSection.cs
- DynamicDocumentPaginator.cs
- Separator.cs
- Panel.cs
- CollectionBase.cs
- VectorCollectionValueSerializer.cs
- DoubleAnimationUsingPath.cs
- Hashtable.cs
- MouseActionConverter.cs
- Utils.cs
- DesignerTextWriter.cs
- ChangeInterceptorAttribute.cs
- CodeMethodInvokeExpression.cs
- XmlTextAttribute.cs
- ClientBuildManagerCallback.cs
- CompModSwitches.cs
- HttpProxyCredentialType.cs
- DecoderExceptionFallback.cs
- ConnectionPointCookie.cs
- UTF7Encoding.cs
- CodeExpressionStatement.cs
- TransformCryptoHandle.cs