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