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