[ToolboxItem (false)]
public abstract class BasePartialCachingControl : Control
{
- private CacheDependency dependency;
- private string ctrl_id;
- private string guid;
- private int duration;
- private string varyby_params;
- private string varyby_controls;
- private string varyby_custom;
-
- private Control control;
+ CacheDependency dependency;
+ string ctrl_id;
+ string guid;
+ int duration;
+ string varyby_params;
+ string varyby_controls;
+ string varyby_custom;
+ DateTime expirationTime;
+ bool slidingExpiration;
+
+ Control control;
+ ControlCachePolicy cachePolicy;
protected BasePartialCachingControl()
{
set { varyby_custom = value; }
}
+ internal DateTime ExpirationTime {
+ get { return expirationTime; }
+ set { expirationTime = value; }
+ }
+
+ internal bool SlidingExpiration {
+ get { return slidingExpiration; }
+ set { slidingExpiration = value; }
+ }
+
internal abstract Control CreateControl ();
public override void Dispose ()
}
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void OnInit (EventArgs e)
+ protected internal override void OnInit (EventArgs e)
{
control = CreateControl ();
Controls.Add (control);
}
-#if NET_2_0
- protected internal
-#else
- protected
-#endif
- override void Render (HtmlTextWriter output)
+ protected internal override void Render (HtmlTextWriter output)
{
- Cache cache = HttpRuntime.Cache;
+ Cache cache = HttpRuntime.InternalCache;
string key = CreateKey ();
string data = cache [key] as string;
output.Write (text);
}
- context.Cache.InsertPrivate (key, text, dependency,
- DateTime.Now.AddSeconds (duration),
- Cache.NoSlidingExpiration,
- CacheItemPriority.Normal, null);
+ context.InternalCache.Insert (key, text, dependency,
+ DateTime.Now.AddSeconds (duration),
+ Cache.NoSlidingExpiration,
+ CacheItemPriority.Normal, null);
}
-#if NET_2_0
public ControlCachePolicy CachePolicy
{
get {
- throw new NotImplementedException ();
+ if (cachePolicy == null)
+ cachePolicy = new ControlCachePolicy (this);
+
+ return cachePolicy;
}
}
-#endif
public CacheDependency Dependency {
get {return dependency;}
set {dependency = value;}
}
- private string CreateKey ()
+ string CreateKey ()
{
StringBuilder builder = new StringBuilder ();
HttpContext context = HttpContext.Current;