Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « System.Web.Caching « System.Web « class « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: fbc14e44453af0a9cb0c104bbb2a63665bc60373 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
2010-01-06  Marek Habersack  <mhabersack@novell.com>

	* CacheItemPriorityQueue.cs: make sure lastParent is never null if
	root is not null in Enqueue. Possible fix for bug #567869

2009-12-01  Marek Habersack  <mhabersack@novell.com>

	* Cache.cs: ExpireItems dequeues the next item when a disabled
	item is found before continuing to look for items to expire. Fixes
	bug #559470. Patch from Adriaan van Kekem <avkekem@hotmail.com>,
	thanks.

2009-10-21  Marek Habersack  <mhabersack@novell.com>

	* CacheItemPriorityQueue.cs: lock the queue on enqueue/dequeue

2009-10-20  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheModule.cs: keysCache and entriesToInvalidate
	dictionaries are allocated only when they are
	required. BuildManager's RemoveEntry envent is subscribed to only
	if cache actually has some entries.
	Added support for post-cache substitution.

	* CachedRawResponse.cs: data is stored in a list of DataItem
	instances instead of just in a single buffer. This enables support
	for post-cache substitution.

2009-10-05  Marek Habersack  <mhabersack@novell.com>

	* Cache.cs: if item expiration time exceeds the maximum value
	Timer accepts, use the latter - item will expire properly anyway,
	as the timer will be rescheduled for the item's expiration time
	once that item is bubbled to the top of the priority queue. Fixes
	bug #544171

2009-09-26  Marek Habersack  <mhabersack@novell.com>

	* CacheItemPriorityQueue.cs, CacheItem.cs, CacheItemEnumerator.cs:
	added

	* Cache.cs: factored out CacheItem and CacheItemEnumerator to
	separate files.
	Use reader-writer locks instead of Monitor.
	Added two 3.5sp1 properties - EffectivePrivateBytesLimit and
	EffectivePercentagePhysicalMemoryLimit.
	Added support for disabling cache item expiration.
	One timer is used to expire all timed items (instead of one timer
	per item). Timed items are kept in a priority queue.

2009-03-03  Marek Habersack  <mhabersack@novell.com>

	* CachedRawResponse.cs: headers are stored in NameValueCollection
	now.

2009-01-09  Marek Habersack  <mhabersack@novell.com>

	* Cache.cs: System.Threading.Timer.Change takes a long, not an
	int. The maximum value of sliding expiration is 365 days
	(31536000000ms) which fits within the value range of long. The
	previous cast to int might yield negative values in certain
	situations which was the reason for bug #464221. Fixes bug #464221

2008-10-21  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheModule.cs: seal the class.
	Made OnRawResponseRemoved a static method.

	* CachedVaryBy.cs: seal the class.
	Use portable line terminators instead of literal '\n'.

	* Cache.cs: seal the CacheItem and CacheItemEnumerator classes.

	* CacheDependency.cs: dispose the associated dependency in the
	DependencyDispose method.

	* CachedRawResponse.cs: seal the class

2008-10-15  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheModule.cs: do not take any action if Response returns
	null from GetCachedResponse.

2008-09-30  Juraj Skripsky  <js@hotfeet.ch>

	* CachedRawResponse.cs: Don't allocate a 32k buffer that is never 
	used. Fixes enhancement bug #430963.

2008-09-29  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheModule.cs: invalidate cache entries when the
	corresponding source file (.as?x) is recompiled by hooking up to
	System.Web.Compilation.BuildManager's build cache entry removal
	event. Fixes bug #429926

2008-09-26  Juraj Skripsky  <js@hotfeet.ch>

	* OutputCacheModule.cs: Consistently use InternalCache for
	CachedRawResponse items and Cache for CachedVaryBy items.
	Partial fix for bug #429926.   

2008-08-11  Marek Habersack  <mhabersack@novell.com>

	* Cache.cs: dispose item timer when removing an entry. Fixes bug
	#416076. Patch provided by Adriaan van Kekem
	<adriaanvk@gmail.com>, thanks!
	Pass onRemoveCallback along in Insert. Fixes bugs #324528 and
	#382644. Patch provided by Juraj Skripsky <juraj@hotfeet.ch>,
	thanks!

2008-06-18  Marek Habersack  <mhabersack@novell.com>

	* SqlCacheDependency.cs: added

2008-05-30  Marek Habersack  <mhabersack@novell.com>

	* CacheDependency.cs: do not use synthetized event accessors (to
	avoid locks).

2008-05-23  Marek Habersack  <mhabersack@novell.com>

	* Cache.cs: optimize lock usage

2008-04-28  Marek Habersack  <mhabersack@novell.com>

	* Cache.cs: refactoring - move the timeout setting code to
	separate methods, so that it can be accessed from outside the
	class. Fixes bug #382644

2008-03-18  Geoff Norton  <gnorton@novell.com>

	* Cache.cs:  MS allows calling Insert in a removed handler, we need to
	avoid double locking here otherwise the Insert will never succeed.

2008-02-26  Kornél Pál  <kornelpal@gmail.com>

	* CachedRawResponse.cs, OutputCacheModule.cs: Don't add Date header because
	servers usually add a Date header that would result in duplicate Date header
	sent to the client. Fixes bug #363404.

2007-12-31  Vladimir Krasnov  <vladimirk@maimsoft.com>

	* Cache.cs: added DependencyCache property, a cache object for
	creating dependencies

2007-12-19  Juraj Skripsky  <js@hotfeet.ch>

	* Cache.cs: Replace periodic timer (60s) with per-cache-item expiration
	timers.

2007-08-17  Marek Habersack  <mhabersack@novell.com>

	* CacheDependency.cs: use DependencyChanged as a list of events.
	OnChanged now calls OnDependencyChanged, to notify
	AggregateCacheDependency that it has changed. Fixes bug #82419.

2007-08-14  Marek Habersack  <mhabersack@novell.com>

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

2007-06-25 Juraj Skripsky <js@hotfeet.ch>

	* Cache.cs: Re-introduce "InvokePrivateCallbacks" accidentally
	removed in r80321.

2007-06-20  Marek Habersack  <mhabersack@novell.com>

	* OutputCacheModule.cs: use Context.InternalCache.

	* Cache.cs: 2.0 profile uses generic containers to keep the cache
	entries.
	Gotten rid of the InsertPrivate and InsertInternal methods. The
	latter was moved to one of the Insert overloads.
	Private entries are no longer handled specifically, because the
	internal cache is now kept in a separate object.
	Iterate over the entries when filling the ArrayList in the 2.0
	profile to avoid type cast exceptions.

2007-05-03 Igor Zelmanovich <igorz@mainsoft.com>

	* AggregateCacheDependency.cs:
	* CacheDependency.cs:	
	added missing API.	

2007-04-10  Marek Habersack  <mhabersack@novell.com>

	* CacheDependency.cs: add the NotifyFilters.Size to the
	watcher flags, so that we watch for modifications to a file when
	using Linux inotify.

2006-11-29  Marek Habersack  <grendello@gmail.com>

	* CachedVaryBy.cs: Make sure that the vary:* header is generated
	only when allowed under the 2.0 profile.

2006-11-25  Marek Habersack  <grendello@gmail.com>

	* AggregateCacheDependency.cs: A small code optimization.

2006-11-14 Marek Habersack <grendel@caudium.net>

	* Cache.cs:
	* CacheDependency.cs:
	* AggregateCacheDependency.cs: implement this one.

2006-09-11 Andrew Skiba <andrews@mainsoft.com>

	* CacheDependency.cs: ifdef TARGET_JVM

2006-08-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs:
	* Cache.cs: check dependencies on other cache keys. Fixes bug #79002.

2006-03-18  Robert Jordan  <robertj@gmx.net>

	* OutputCacheModule.cs: invoke the validation callbacks of
	HttpCachePolicy. Fixes bug #77825.

2006-03-14  Robert Jordan  <robertj@gmx.net>

	* CachedVaryBy.cs: Fixed VaryByParam="*". Replaced request.Param
	with QueryString and Form lookups. Made the param name output case
	insensitive. Fixes bug #77757.

2005-10-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: new internal method.

2005-09-08  Eyal Alaluf  <eyala@mainsoft.com>
	* OutputCacheModule.cs: Use C# 1.0 style of delegate instantiating.
	  Needed to compile Grasshopper (TARGET_J2EE) which uses MS C# 1.0
	  compiler and does not use msc.

2005-09-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: ignore exceptions thrown by removed item callbacks.

2005-09-02  Sebastien Pouliot  <sebastien@ximian.com>

	* Cache.cs: Added security permissions with Minimal level for
	AspNetHostingPermissionLevel (only LinkDemand as the class is sealed).
	* CacheDependency.cs: : Added security permissions with Minimal level 
	for AspNetHostingPermissionLevel (note class is sealed only in 1.x).

2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
	* CacheDependency.cs: TARGET_J2EE fixes.

2005-08-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs: add missing ctor.

2005-08-15  Jackson Harper  <jackson@ximian.com>

	* CacheItemPriority.cs:
	* CacheItemRemovedCallback.cs:
	* CacheItemRemovedReason.cs: New implementations.

2005-07-30  Miguel de Icaza  <miguel@novell.com>

	* OutputCacheModule.cs: Make synchronous.

2005-07-15 Lluis Sanchez Gual <lluis@novell.com>

	* Cache.cs: New implementation.
	* CacheDependency.cs: New implementation.

2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: added new InsertPrivate overload.

2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: 
	* CacheEntry.cs: style. Removed doc. comments.

2005-06-08 Ilya Kharmatsky <ilyak-at-mainsoft.com>
	
	* CacheDependency.cs - added TARGET_JVM directives in places,
	  where file watching is using (Mainsoft's implementation currently
	  doesn't support the feature).

2005-05-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheEntry.cs: credits for this patch should go to mcs. it catched
	that the code after 'if ((_enumFlags & Flags.Removed) != 0)' was
	unreachable.

2005-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ExpiresBuckets.cs:
	* Cache.cs:
	* CacheExpires.cs: fix NullReferenceException thrown sometimes when
	using sliding expiration and under high load. Patch by Eyal Alayuf from
	Mainsoft.

2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs: remove warnings.

2005-04-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CachedVaryBy.cs: fixed VaryByParam and wildcard (*). Patch by Ilya
	Kharmatsky (Mainsoft) that fixes bug #73981.

2005-04-01  Lluis Sanchez Gual <lluis@novell.com>

	* CachedRawResponse.cs: Fix warning.

2004-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheEntry.cs: convert the external DateTime to GMT, as everything
	else uses that timezone. Fixes bug #69194.

2004-10-03 Ben Maurer  <bmaurer@ximian.com>

	* Cache.cs, CacheEntry.cs, CacheExpires.cs, ExpiresBuckets.cs:
	use UtcNow rather than Now.

2004-05-27	Patrik Torstensson <totte@hiddenpeaks.com>

	* ExpiresBucket.cs (FlushExpiredItems): fix csc and a typo bug

2004-05-27	Patrik Torstensson <totte@hiddenpeaks.com>

	* CacheEntry.cs,CacheExpires.cs,ExpiresBucket.cs,
	  Cache.cs : Fixed deadlock issues, fixed
	  items not correctly being flushed, fixed update
	  of item when expiration has been updated more
	  than 1 min (placed in wrong bucket), 
	  fixed deadlock during cache callback when item 
	  is removed due to expiriation.
	  
	  Rewrite of locking handling in Cache class, leading
	  to better performance and less bugs.
	  
	  This rewrite is due to a number of bugs found
	  in the output caching during load (leading to memory 
	  leaks and deadlocks)

2004-05-16	Patrik Torstensson <totte@hiddenpeaks.com>

	* ExpiresBucket.cs: Style changes plus;
	(Update): Fixed possible lock bug (bug 54531)
	(Expand): remove lock optimization due to it can cause newly 
	added items to be lost.
	(Remove): fixed possible lock bug.
		
2004-04-16  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: fix from Jan Jaros for NullRef (bug #56996).

2004-04-07  Lluis Sanchez Gual <lluis@ximian.com>

	* Cache.cs, CacheEntry.cs, ExpiresBuckets.cs: The value to use to
	specify infinite timeout in ReaderWriterLock is -1, not 0.

2004-03-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Watcher.cs: Removed file. Jackson made it obsolete and already
	removed it from the .sources file.

2004-02-09  Jackson Harper <jackson@ximian.com>

	* ExpiresBucket.cs: Remove duplicate code. Fixes bug #54031.
	
2004-02-09  Jackson Harper <jackson@ximian.com>

	* Cache.cs: Close entries that are removed.
	* CacheDependency.cs: Use FileSystemWatcher instead of custom
	Watcher for file dependencies.
	* OutputCacheModule.cs: Make the varyby objects dependent on the
	cached page.
	
2004-02-05  Jackson Harper <jackson@ximian.com>

	* CacheDependency.cs: Handle cache keys that have not been added
	to the cache yet.
	
2004-02-02  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: We can use file dependancies now.
	
2004-01-14  Jackson Harper <jackson@ximian.com>

	* Cache.cs: Return null when items are expired but have not been
	removed yet.
	* OutputCacheModule.cs: Handle sliding expirations. Remove hacks
	checking if the item is expired, the cache no longer returns
	expired items.
	
2004-01-14  Jackson Harper <jackson@ximian.com>

	* Cache.cs: When using sliding expiration update the cache objects
	expires time as well as the expires entry expire time because the
	objects expire time is checked when objects are pulled out. This
	fixex bug #52778.
	
2004-01-11  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Remove varyby objects when there are no
	more raw responses that belong to them.
	* CachedRawResponse.cs: Keep a reference to the VaryBy object that
	this response belongs to this is so the varyby can be cleaned up.
	* CachedVaryBy.cs: Keep a reference to the keys that belong to the
	varyby and a reference to the varyby's key.
	
2004-01-04  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Dont cache items when trace is enabled.
	
2004-01-04  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Update the date header value.
	* CachedRawResponse.cs: Expose a ref to the date header, so it can
	be easily set/updated. Remove unused methods and vars.
	
2004-01-04  Jackson Harper <jackson@ximian.com>

	* CacheDependency.cs: Copy all the entries into the entries array,
	set on removed callback for items that we are dependent on.
	* Cache.cs: Add method to get CacheEntry objects.
	* OutputCacheModule.cs: Make raw repsonse entries dependent on 
	their varyby param entries.

2004-01-04  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: VaryBy keys now need the HttpContext not just the request.
	* CachedVaryBy.cs: Handle vary by headers, and vary by custom.
	
2004-01-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ExpiresBuckets.cs: set _intPos when expanding the array. Fixes bug
	52541. Patch by Jan Jaros (mono-bug@jerryweb.info).

2003-11-21  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Only cache a page if it has a 200 status
	code. Fix tabbing.
	* CachedVaryBy.cs: Give raw response keys a name, use the
	httpmethod in the key, and delimit items with \n so it is easier
	to read when debugging.
	
2003-11-21  Jackson Harper <jackson@ximian.com>

	* OutputCacheModule.cs: Store a CachedVaryBy object for each
	cached page. Then store a CachedRawResponse for each combination
	of varried parameters for a page.
	* CachedRawResponse.cs: Do not need to store param values anymore
	those are stored in the CachedVaryBy now. Get the content length
	so we dont send back the entire buffer.
	* CachedVaryBy.cs: New file - holds the varyby data for a page,
	and a method to generate a key based on params. Right now this
	only works with VaryByParams. TODO: support VaryByHeaders and
	VaryByCustom.
	
2003-11-20  Jackson Harper <jackson@ximian.com>

	* Cache.cs: New method so non public cache items can be added.
	* CachedRawResponse.cs: New file - A snapshot of a response that
	is stored in the cache and can be used to create a new response.
	* OutputCacheModule.cs: Module for inserting and retrieving
	responses from the cache.
	
2003-04-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs:
	* CacheEntry.cs:
	* Watcher.cs: added a FileSystemWatcher-like class for dependency checking.

2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs:
	* CacheDefinitions.cs:
	* CacheDependency.cs:
	* CacheEntry.cs:
	* CacheExpires.cs:
	* ExpiresBuckets.cs: reformatted, make class status page happier. Does
	not work yet (wait for the next patch).

2002-12-27  Daniel Cazzulino <dcazzulino@users.sf.net>

	* CacheEntry.cs: several changes. New constants, use of constants
	defined in Cache.cs, modified locks to optimize perf. Fixed property
	sets which weren't using the keyword value to set the new values
	(don't know how this worked before!).

	* Cache.cs: changed singleton implementation to only create the object
	when actually used. Changed Insert overloads to use constants
	defined instead of hard values.

	* ExpiresBuchets: major changes. All locking now uses ReaderWriterLock
	class. Bucket now efectively reuses free indexes from removed items
	to avoid unnecessary expansions. Expansion now uses Array.CopyTo to
	add elements to the new list. Added private Int32Collection to
	handle int indexes efficiently (thanks Shawn Van Ness). See comments
	there.

2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Cache.cs: little fixes.

2002-07-28  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDefinitions.cs: fixed a couple of enums.

	* CacheDependency.cs: the class is sealed.

2002-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* CacheDependency.cs: fixed a couple of typos and don't throw
	NotImplementedException in constructors.

2001-12-21      Gaurav Vaish <gvaish@iitk.ac.in>

        * CacheDependency.cs:    Some unimplemented methods to make build

2001-07-20	Patrik Torstensson (Patrik.Torstensson@labs2.com)

	* Cache.cs:	Implemented. (90% ready)
	* CacheDefinitions.cs: Implemented.
	* CacheDependency.cs: Added. (20% ready)
	* CacheExpires: Implemented.
	* CacheEntry.cs: Implemented. (95% ready, going to be changed due to CacheDependecy support)
	* ExpiresBuckets.cs: Implemented.