1 2006-09-11 Andrew Skiba <andrews@mainsoft.com>
3 * CacheDependency.cs: ifdef TARGET_JVM
5 2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
8 * Cache.cs: check dependencies on other cache keys. Fixes bug #79002.
10 2006-03-18 Robert Jordan <robertj@gmx.net>
12 * OutputCacheModule.cs: invoke the validation callbacks of
13 HttpCachePolicy. Fixes bug #77825.
15 2006-03-14 Robert Jordan <robertj@gmx.net>
17 * CachedVaryBy.cs: Fixed VaryByParam="*". Replaced request.Param
18 with QueryString and Form lookups. Made the param name output case
19 insensitive. Fixes bug #77757.
21 2005-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
23 * Cache.cs: new internal method.
25 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
26 * OutputCacheModule.cs: Use C# 1.0 style of delegate instantiating.
27 Needed to compile Grasshopper (TARGET_J2EE) which uses MS C# 1.0
28 compiler and does not use msc.
30 2005-09-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
32 * Cache.cs: ignore exceptions thrown by removed item callbacks.
34 2005-09-02 Sebastien Pouliot <sebastien@ximian.com>
36 * Cache.cs: Added security permissions with Minimal level for
37 AspNetHostingPermissionLevel (only LinkDemand as the class is sealed).
38 * CacheDependency.cs: : Added security permissions with Minimal level
39 for AspNetHostingPermissionLevel (note class is sealed only in 1.x).
41 2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
42 * CacheDependency.cs: TARGET_J2EE fixes.
44 2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
46 * CacheDependency.cs: add missing ctor.
48 2005-08-15 Jackson Harper <jackson@ximian.com>
50 * CacheItemPriority.cs:
51 * CacheItemRemovedCallback.cs:
52 * CacheItemRemovedReason.cs: New implementations.
54 2005-07-30 Miguel de Icaza <miguel@novell.com>
56 * OutputCacheModule.cs: Make synchronous.
58 2005-07-15 Lluis Sanchez Gual <lluis@novell.com>
60 * Cache.cs: New implementation.
61 * CacheDependency.cs: New implementation.
63 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
65 * Cache.cs: added new InsertPrivate overload.
67 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
70 * CacheEntry.cs: style. Removed doc. comments.
72 2005-06-08 Ilya Kharmatsky <ilyak-at-mainsoft.com>
74 * CacheDependency.cs - added TARGET_JVM directives in places,
75 where file watching is using (Mainsoft's implementation currently
76 doesn't support the feature).
78 2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
80 * CacheEntry.cs: credits for this patch should go to mcs. it catched
81 that the code after 'if ((_enumFlags & Flags.Removed) != 0)' was
84 2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
88 * CacheExpires.cs: fix NullReferenceException thrown sometimes when
89 using sliding expiration and under high load. Patch by Eyal Alayuf from
92 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
94 * CacheDependency.cs: remove warnings.
96 2005-04-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
98 * CachedVaryBy.cs: fixed VaryByParam and wildcard (*). Patch by Ilya
99 Kharmatsky (Mainsoft) that fixes bug #73981.
101 2005-04-01 Lluis Sanchez Gual <lluis@novell.com>
103 * CachedRawResponse.cs: Fix warning.
105 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
107 * CacheEntry.cs: convert the external DateTime to GMT, as everything
108 else uses that timezone. Fixes bug #69194.
110 2004-10-03 Ben Maurer <bmaurer@ximian.com>
112 * Cache.cs, CacheEntry.cs, CacheExpires.cs, ExpiresBuckets.cs:
113 use UtcNow rather than Now.
115 2004-05-27 Patrik Torstensson <totte@hiddenpeaks.com>
117 * ExpiresBucket.cs (FlushExpiredItems): fix csc and a typo bug
119 2004-05-27 Patrik Torstensson <totte@hiddenpeaks.com>
121 * CacheEntry.cs,CacheExpires.cs,ExpiresBucket.cs,
122 Cache.cs : Fixed deadlock issues, fixed
123 items not correctly being flushed, fixed update
124 of item when expiration has been updated more
125 than 1 min (placed in wrong bucket),
126 fixed deadlock during cache callback when item
127 is removed due to expiriation.
129 Rewrite of locking handling in Cache class, leading
130 to better performance and less bugs.
132 This rewrite is due to a number of bugs found
133 in the output caching during load (leading to memory
136 2004-05-16 Patrik Torstensson <totte@hiddenpeaks.com>
138 * ExpiresBucket.cs: Style changes plus;
139 (Update): Fixed possible lock bug (bug 54531)
140 (Expand): remove lock optimization due to it can cause newly
141 added items to be lost.
142 (Remove): fixed possible lock bug.
144 2004-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
146 * Cache.cs: fix from Jan Jaros for NullRef (bug #56996).
148 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
150 * Cache.cs, CacheEntry.cs, ExpiresBuckets.cs: The value to use to
151 specify infinite timeout in ReaderWriterLock is -1, not 0.
153 2004-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
155 * Watcher.cs: Removed file. Jackson made it obsolete and already
156 removed it from the .sources file.
158 2004-02-09 Jackson Harper <jackson@ximian.com>
160 * ExpiresBucket.cs: Remove duplicate code. Fixes bug #54031.
162 2004-02-09 Jackson Harper <jackson@ximian.com>
164 * Cache.cs: Close entries that are removed.
165 * CacheDependency.cs: Use FileSystemWatcher instead of custom
166 Watcher for file dependencies.
167 * OutputCacheModule.cs: Make the varyby objects dependent on the
170 2004-02-05 Jackson Harper <jackson@ximian.com>
172 * CacheDependency.cs: Handle cache keys that have not been added
175 2004-02-02 Jackson Harper <jackson@ximian.com>
177 * OutputCacheModule.cs: We can use file dependancies now.
179 2004-01-14 Jackson Harper <jackson@ximian.com>
181 * Cache.cs: Return null when items are expired but have not been
183 * OutputCacheModule.cs: Handle sliding expirations. Remove hacks
184 checking if the item is expired, the cache no longer returns
187 2004-01-14 Jackson Harper <jackson@ximian.com>
189 * Cache.cs: When using sliding expiration update the cache objects
190 expires time as well as the expires entry expire time because the
191 objects expire time is checked when objects are pulled out. This
194 2004-01-11 Jackson Harper <jackson@ximian.com>
196 * OutputCacheModule.cs: Remove varyby objects when there are no
197 more raw responses that belong to them.
198 * CachedRawResponse.cs: Keep a reference to the VaryBy object that
199 this response belongs to this is so the varyby can be cleaned up.
200 * CachedVaryBy.cs: Keep a reference to the keys that belong to the
201 varyby and a reference to the varyby's key.
203 2004-01-04 Jackson Harper <jackson@ximian.com>
205 * OutputCacheModule.cs: Dont cache items when trace is enabled.
207 2004-01-04 Jackson Harper <jackson@ximian.com>
209 * OutputCacheModule.cs: Update the date header value.
210 * CachedRawResponse.cs: Expose a ref to the date header, so it can
211 be easily set/updated. Remove unused methods and vars.
213 2004-01-04 Jackson Harper <jackson@ximian.com>
215 * CacheDependency.cs: Copy all the entries into the entries array,
216 set on removed callback for items that we are dependent on.
217 * Cache.cs: Add method to get CacheEntry objects.
218 * OutputCacheModule.cs: Make raw repsonse entries dependent on
219 their varyby param entries.
221 2004-01-04 Jackson Harper <jackson@ximian.com>
223 * OutputCacheModule.cs: VaryBy keys now need the HttpContext not just the request.
224 * CachedVaryBy.cs: Handle vary by headers, and vary by custom.
226 2004-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
228 * ExpiresBuckets.cs: set _intPos when expanding the array. Fixes bug
229 52541. Patch by Jan Jaros (mono-bug@jerryweb.info).
231 2003-11-21 Jackson Harper <jackson@ximian.com>
233 * OutputCacheModule.cs: Only cache a page if it has a 200 status
235 * CachedVaryBy.cs: Give raw response keys a name, use the
236 httpmethod in the key, and delimit items with \n so it is easier
237 to read when debugging.
239 2003-11-21 Jackson Harper <jackson@ximian.com>
241 * OutputCacheModule.cs: Store a CachedVaryBy object for each
242 cached page. Then store a CachedRawResponse for each combination
243 of varried parameters for a page.
244 * CachedRawResponse.cs: Do not need to store param values anymore
245 those are stored in the CachedVaryBy now. Get the content length
246 so we dont send back the entire buffer.
247 * CachedVaryBy.cs: New file - holds the varyby data for a page,
248 and a method to generate a key based on params. Right now this
249 only works with VaryByParams. TODO: support VaryByHeaders and
252 2003-11-20 Jackson Harper <jackson@ximian.com>
254 * Cache.cs: New method so non public cache items can be added.
255 * CachedRawResponse.cs: New file - A snapshot of a response that
256 is stored in the cache and can be used to create a new response.
257 * OutputCacheModule.cs: Module for inserting and retrieving
258 responses from the cache.
260 2003-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
262 * CacheDependency.cs:
264 * Watcher.cs: added a FileSystemWatcher-like class for dependency checking.
266 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
269 * CacheDefinitions.cs:
270 * CacheDependency.cs:
273 * ExpiresBuckets.cs: reformatted, make class status page happier. Does
274 not work yet (wait for the next patch).
276 2002-12-27 Daniel Cazzulino <dcazzulino@users.sf.net>
278 * CacheEntry.cs: several changes. New constants, use of constants
279 defined in Cache.cs, modified locks to optimize perf. Fixed property
280 sets which weren't using the keyword value to set the new values
281 (don't know how this worked before!).
283 * Cache.cs: changed singleton implementation to only create the object
284 when actually used. Changed Insert overloads to use constants
285 defined instead of hard values.
287 * ExpiresBuchets: major changes. All locking now uses ReaderWriterLock
288 class. Bucket now efectively reuses free indexes from removed items
289 to avoid unnecessary expansions. Expansion now uses Array.CopyTo to
290 add elements to the new list. Added private Int32Collection to
291 handle int indexes efficiently (thanks Shawn Van Ness). See comments
294 2002-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
296 * Cache.cs: little fixes.
298 2002-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
300 * CacheDefinitions.cs: fixed a couple of enums.
302 * CacheDependency.cs: the class is sealed.
304 2002-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
306 * CacheDependency.cs: fixed a couple of typos and don't throw
307 NotImplementedException in constructors.
309 2001-12-21 Gaurav Vaish <gvaish@iitk.ac.in>
311 * CacheDependency.cs: Some unimplemented methods to make build
313 2001-07-20 Patrik Torstensson (Patrik.Torstensson@labs2.com)
315 * Cache.cs: Implemented. (90% ready)
316 * CacheDefinitions.cs: Implemented.
317 * CacheDependency.cs: Added. (20% ready)
318 * CacheExpires: Implemented.
319 * CacheEntry.cs: Implemented. (95% ready, going to be changed due to CacheDependecy support)
320 * ExpiresBuckets.cs: Implemented.