Quellcode durchsuchen

2007-08-14 Marek Habersack <[email protected]>

	* AggregateCacheDependency.cs: propagate changes in any child
	dependencies to the base class.

svn path=/trunk/mcs/; revision=84058
Marek Habersack vor 18 Jahren
Ursprung
Commit
8b73dbcd78

+ 17 - 0
mcs/class/System.Web/System.Web.Caching/AggregateCacheDependency.cs

@@ -61,6 +61,10 @@ namespace System.Web.Caching
 			lock (dependenciesLock) {
 				if (this.dependencies == null)
 					this.dependencies = new List <CacheDependency> (dependencies.Length);
+				foreach (CacheDependency dep in dependencies)
+					if (dep != null)
+						dep.DependencyChanged += new EventHandler (OnAnyChanged);
+				
 				this.dependencies.AddRange (dependencies);
 				base.Start = DateTime.UtcNow;
 			}
@@ -86,6 +90,19 @@ namespace System.Web.Caching
 			}
 			return sb.ToString ();
 		}
+
+		protected override void DependencyDispose ()
+		{
+			if (dependencies != null && dependencies.Count > 0)
+				foreach (CacheDependency dep in dependencies)
+					dep.DependencyChanged -= new EventHandler (OnAnyChanged);
+			base.DependencyDispose ();
+		}
+		
+		void OnAnyChanged (object sender, EventArgs args)
+		{
+			base.NotifyDependencyChanged (this, args);
+		}
 	}
 }
 #endif

+ 5 - 0
mcs/class/System.Web/System.Web.Caching/ChangeLog

@@ -1,3 +1,8 @@
+2007-08-14  Marek Habersack  <[email protected]>
+
+	* AggregateCacheDependency.cs: propagate changes in any child
+	dependencies to the base class.
+
 2007-06-25 Juraj Skripsky <[email protected]>
 
 	* Cache.cs: Re-introduce "InvokePrivateCallbacks" accidentally