1 2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
3 * CacheEntry.cs: convert the external DateTime to GMT, as everything
4 else uses that timezone. Fixes bug #69194.
6 2004-10-03 Ben Maurer <bmaurer@ximian.com>
8 * Cache.cs, CacheEntry.cs, CacheExpires.cs, ExpiresBuckets.cs:
9 use UtcNow rather than Now.
11 2004-05-27 Patrik Torstensson <totte@hiddenpeaks.com>
13 * ExpiresBucket.cs (FlushExpiredItems): fix csc and a typo bug
15 2004-05-27 Patrik Torstensson <totte@hiddenpeaks.com>
17 * CacheEntry.cs,CacheExpires.cs,ExpiresBucket.cs,
18 Cache.cs : Fixed deadlock issues, fixed
19 items not correctly being flushed, fixed update
20 of item when expiration has been updated more
21 than 1 min (placed in wrong bucket),
22 fixed deadlock during cache callback when item
23 is removed due to expiriation.
25 Rewrite of locking handling in Cache class, leading
26 to better performance and less bugs.
28 This rewrite is due to a number of bugs found
29 in the output caching during load (leading to memory
32 2004-05-16 Patrik Torstensson <totte@hiddenpeaks.com>
34 * ExpiresBucket.cs: Style changes plus;
35 (Update): Fixed possible lock bug (bug 54531)
36 (Expand): remove lock optimization due to it can cause newly
37 added items to be lost.
38 (Remove): fixed possible lock bug.
40 2004-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
42 * Cache.cs: fix from Jan Jaros for NullRef (bug #56996).
44 2004-04-07 Lluis Sanchez Gual <lluis@ximian.com>
46 * Cache.cs, CacheEntry.cs, ExpiresBuckets.cs: The value to use to
47 specify infinite timeout in ReaderWriterLock is -1, not 0.
49 2004-03-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
51 * Watcher.cs: Removed file. Jackson made it obsolete and already
52 removed it from the .sources file.
54 2004-02-09 Jackson Harper <jackson@ximian.com>
56 * ExpiresBucket.cs: Remove duplicate code. Fixes bug #54031.
58 2004-02-09 Jackson Harper <jackson@ximian.com>
60 * Cache.cs: Close entries that are removed.
61 * CacheDependency.cs: Use FileSystemWatcher instead of custom
62 Watcher for file dependencies.
63 * OutputCacheModule.cs: Make the varyby objects dependent on the
66 2004-02-05 Jackson Harper <jackson@ximian.com>
68 * CacheDependency.cs: Handle cache keys that have not been added
71 2004-02-02 Jackson Harper <jackson@ximian.com>
73 * OutputCacheModule.cs: We can use file dependancies now.
75 2004-01-14 Jackson Harper <jackson@ximian.com>
77 * Cache.cs: Return null when items are expired but have not been
79 * OutputCacheModule.cs: Handle sliding expirations. Remove hacks
80 checking if the item is expired, the cache no longer returns
83 2004-01-14 Jackson Harper <jackson@ximian.com>
85 * Cache.cs: When using sliding expiration update the cache objects
86 expires time as well as the expires entry expire time because the
87 objects expire time is checked when objects are pulled out. This
90 2004-01-11 Jackson Harper <jackson@ximian.com>
92 * OutputCacheModule.cs: Remove varyby objects when there are no
93 more raw responses that belong to them.
94 * CachedRawResponse.cs: Keep a reference to the VaryBy object that
95 this response belongs to this is so the varyby can be cleaned up.
96 * CachedVaryBy.cs: Keep a reference to the keys that belong to the
97 varyby and a reference to the varyby's key.
99 2004-01-04 Jackson Harper <jackson@ximian.com>
101 * OutputCacheModule.cs: Dont cache items when trace is enabled.
103 2004-01-04 Jackson Harper <jackson@ximian.com>
105 * OutputCacheModule.cs: Update the date header value.
106 * CachedRawResponse.cs: Expose a ref to the date header, so it can
107 be easily set/updated. Remove unused methods and vars.
109 2004-01-04 Jackson Harper <jackson@ximian.com>
111 * CacheDependency.cs: Copy all the entries into the entries array,
112 set on removed callback for items that we are dependent on.
113 * Cache.cs: Add method to get CacheEntry objects.
114 * OutputCacheModule.cs: Make raw repsonse entries dependent on
115 their varyby param entries.
117 2004-01-04 Jackson Harper <jackson@ximian.com>
119 * OutputCacheModule.cs: VaryBy keys now need the HttpContext not just the request.
120 * CachedVaryBy.cs: Handle vary by headers, and vary by custom.
122 2004-01-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
124 * ExpiresBuckets.cs: set _intPos when expanding the array. Fixes bug
125 52541. Patch by Jan Jaros (mono-bug@jerryweb.info).
127 2003-11-21 Jackson Harper <jackson@ximian.com>
129 * OutputCacheModule.cs: Only cache a page if it has a 200 status
131 * CachedVaryBy.cs: Give raw response keys a name, use the
132 httpmethod in the key, and delimit items with \n so it is easier
133 to read when debugging.
135 2003-11-21 Jackson Harper <jackson@ximian.com>
137 * OutputCacheModule.cs: Store a CachedVaryBy object for each
138 cached page. Then store a CachedRawResponse for each combination
139 of varried parameters for a page.
140 * CachedRawResponse.cs: Do not need to store param values anymore
141 those are stored in the CachedVaryBy now. Get the content length
142 so we dont send back the entire buffer.
143 * CachedVaryBy.cs: New file - holds the varyby data for a page,
144 and a method to generate a key based on params. Right now this
145 only works with VaryByParams. TODO: support VaryByHeaders and
148 2003-11-20 Jackson Harper <jackson@ximian.com>
150 * Cache.cs: New method so non public cache items can be added.
151 * CachedRawResponse.cs: New file - A snapshot of a response that
152 is stored in the cache and can be used to create a new response.
153 * OutputCacheModule.cs: Module for inserting and retrieving
154 responses from the cache.
156 2003-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
158 * CacheDependency.cs:
160 * Watcher.cs: added a FileSystemWatcher-like class for dependency checking.
162 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
165 * CacheDefinitions.cs:
166 * CacheDependency.cs:
169 * ExpiresBuckets.cs: reformatted, make class status page happier. Does
170 not work yet (wait for the next patch).
172 2002-12-27 Daniel Cazzulino <dcazzulino@users.sf.net>
174 * CacheEntry.cs: several changes. New constants, use of constants
175 defined in Cache.cs, modified locks to optimize perf. Fixed property
176 sets which weren't using the keyword value to set the new values
177 (don't know how this worked before!).
179 * Cache.cs: changed singleton implementation to only create the object
180 when actually used. Changed Insert overloads to use constants
181 defined instead of hard values.
183 * ExpiresBuchets: major changes. All locking now uses ReaderWriterLock
184 class. Bucket now efectively reuses free indexes from removed items
185 to avoid unnecessary expansions. Expansion now uses Array.CopyTo to
186 add elements to the new list. Added private Int32Collection to
187 handle int indexes efficiently (thanks Shawn Van Ness). See comments
190 2002-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
192 * Cache.cs: little fixes.
194 2002-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
196 * CacheDefinitions.cs: fixed a couple of enums.
198 * CacheDependency.cs: the class is sealed.
200 2002-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
202 * CacheDependency.cs: fixed a couple of typos and don't throw
203 NotImplementedException in constructors.
205 2001-12-21 Gaurav Vaish <gvaish@iitk.ac.in>
207 * CacheDependency.cs: Some unimplemented methods to make build
209 2001-07-20 Patrik Torstensson (Patrik.Torstensson@labs2.com)
211 * Cache.cs: Implemented. (90% ready)
212 * CacheDefinitions.cs: Implemented.
213 * CacheDependency.cs: Added. (20% ready)
214 * CacheExpires: Implemented.
215 * CacheEntry.cs: Implemented. (95% ready, going to be changed due to CacheDependecy support)
216 * ExpiresBuckets.cs: Implemented.