New test.
[mono.git] / mcs / class / System.Web / System.Web.SessionState / ChangeLog
1 2006-10-12 Hubert FONGARNAND <informatique.internet@fiducial.fr>
2
3         Patch from Hubert FONGARNAND
4         
5         * SessionSQLServerHandler.cs (selectCommand): Instead of using
6         SELECT * for pulling the data out of the ASPStateTempSessions, use
7         the explicit column names.  This allows users to change the table
8         and not have any undesired side effects for our code.
9
10         (ReadBytes): This patch corrects a bug too in ReadBytes. The index parameter
11         was not properly used when calculating the size of the data.
12         
13 2006-09-03  Robert Jordan  <robertj@gmx.net>
14
15         * SessionSQLServerHandler.cs: persist and handle the "timeout" and
16         "expire" properties of the session. Fixes bug #78281.
17         Patch by Boris Dores <babal@via.ecp.fr>.
18
19 2006-08-08  Vladimir Krasnov  <vladimirk@mainsoft.com>
20
21         * SessionInProcHandler.jvm.cs:
22         * SessionStateModule.cs: added NET_2_0 parts into TARGET_J2EE
23
24 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
25
26         * RemoteStateServer.cs: make it inmortal.
27
28 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
29
30         * RemoteStateServer.cs: use a Cache instead of a Hashtable so that we
31         get sliding expiration for free.
32         * StateServerItem.cs: expose 'timeout' through a property.
33
34 2006-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
35
36         * SessionId.cs: make the length of the SessionID 24, as MS.
37
38 2006-04-19  Sebastien Pouliot  <sebastien@ximian.com>
39
40         * SessionConfig.cs: Avoid a cast.
41         * SessionDictionary.cs: Remove unused internal methods.
42         * SessionId.cs: Const-ify internal/private values.
43         * SessionStateModule.cs: Const-ify internal/private values.
44
45 2006-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
46
47         * SessionSQLServerHandler.cs: if the connection to the DB is lost, retry
48         the select/update/insert/delete commands after reconnecting.
49         Fixes bug #77785.
50
51 2006-03-04  Robert Jordan  <robertj@gmx.net>
52
53         * SessionSQLServerHandler.cs: make SQL statements and parameters
54         provider independent/configurable.
55         * SessionSQLServerHandler.cs (SelectSession): properly dispose
56         the data reader. Fixes bug #77698.
57
58 2006-02-28  Chris Toshok  <toshok@ximian.com>
59
60         * IStateRuntime.cs: wrap new interface method with NET_2_0.
61
62 2006-02-28  Chris Toshok  <toshok@ximian.com>
63
64         * SessionStateActions.cs: oops, actually rename the enum, not just
65         the file.
66
67 2006-02-28  Chris Toshok  <toshok@ximian.com>
68
69         * SessionStateActions.cs: rename SessionStateActionFlags to this.
70
71         * ISessionIDManager.cs: rename ISessionIDModule to this.
72
73         * IStateRuntime.cs: corcompare work.
74
75 2006-02-01  Chris Toshok  <toshok@ximian.com>
76
77         * SessionStateServerHandler.cs: CONFIGURATION_2_0 => NET_2_0.
78
79         * SessionSQLServerHandler.cs: same.
80
81         * SessionStateModule.cs: same.
82
83         * ISessionHandler.cs: same.
84
85         * SessionInProcHandler.cs: same.
86
87 2006-01-18 Konstantin Triger <kostat@mainsoft.com>
88
89         * HttpSessionState.jvm.cs: correcting serialization conditions.
90
91 2006-01-09  Konstantin Triger <kostat@mainsoft.com>
92
93         * HttpSessionState.jvm.cs: merging HttpSessionState.cs@@/main/19-24
94
95 2005-11-28  Chris Toshok  <toshok@ximian.com>
96
97         * SessionStateModule.cs: CONFIGURATION_2_0 work.
98
99         * SessionSQLServerHandler.cs: CONFIGURATION_2_0 work.
100
101         * SessionInProcHandler.cs: CONFIGURATION_2_0 work.
102
103         * SessionStateServerHandler.cs: CONFIGURATION_2_0 work.
104         
105         * ISessionHandler.cs (Init): @config is a SessionStateSection if
106         CONFIGURATION_2_0.
107
108 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
109
110         * SessionStateModule.cs: use the new funciton in HttpRequest.
111
112 2005-09-22  Jackson Harper  <jackson@ximian.com>
113
114         * SessionStateModule.cs: Use a concat instead of a format (mucho
115         faster).
116
117 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
118
119         * SessionStateModule.cs: fix compilation warnings and use the
120         application path for the cookie path. This is a temporary fix for 76172.
121         * SessionId.cs: don't access the cookie collection twice.
122
123 2005-09-09  Sebastien Pouliot  <sebastien@ximian.com>
124
125         * HttpSessionState.cs: Added LinkDemand for Minimal.
126         * IHttpSessionState.cs: Renamed IsCookieLess to IsCookieless.
127         * ISessionStateItemCollection.cs: Added ICollection and IEnumerable.
128         * SessionStateMode.cs: Added Custom (2.0).
129         * SessionStateModule.cs: Use RandomNumberGenerator.Create to create 
130         the RNG. Assert EnvironmentPermission to read MONO_XSP_STATIC_SESSION.
131         Added LinkDemand for Minimal.
132         * StateRuntime.cs: Added LinkDemand for Minimal, new ProcessRequest
133         override (2.0) and security attributes on methods.
134
135 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
136
137         * SessionStateModule.cs: raise the Start event for new sessions.
138
139 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
140         * HttpSessionState.jvm.cs - fixed serialization when we want to serialize
141           an empty session.
142
143 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
144
145         * SessionStateModule.cs: Only invoke the End event using the new method
146         in HttpApplicationFactory and when session state mode is InProc.
147
148 2005-09-01 Eyal Alaluf <eyala@mainsoft.com>
149         * SessionStateModule.cs: Under TARGET_J2EE we let the J2EE app server handle
150           session persistence, so we don't support SQL/Remoting session servers
151           at the ASP.Net level.
152
153 2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
154
155         * SessionStateModule.cs: added lock around 'config'.
156         * SessionInProcHandler.cs: when inserting in the the session in the
157         Cache, use sliding expiration only.  
158
159 2005-08-15  Miguel de Icaza  <miguel@novell.com>
160
161         * SessionStateModule.cs: Make this use the synch api as the module
162         was synchronous anyways
163
164 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
165
166         * SessionInProcHandler.cs: use cache.InsertPrivate.
167         * SessionDictionary.cs: fix typo that made Clone useless.
168
169 2005-06-08 Ilya Kharmatsky <ilyak-at-mainsoft.com>
170
171         * SessionStateMode.cs: Added TARGET_J2EE directive in order
172         to provide in J2EE configuration additional mode - J2EE
173         * SessionStateModule.cs: Added TARGET_JVM directives in order
174         to resolve unsupported in Ghrasshopper "static variables" issue
175         (When static variable are stored in general place, instead of
176         storing such variables per AppDomain).
177
178 2005-05-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
179
180         * RemoteStateServer.cs:
181         * HttpSessionState.cs:
182         * SessionSQLServerHandler.cs:
183         * SessionInProcHandler.cs:
184         * SessionStateServerHandler.cs: remove abandoned sessions in the 
185         ReleseRequest state. Fixes bug #75051.
186
187 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
188
189         * SessionSQLServerHandler.cs:
190         * SessionStateServerHandler.cs: removed warnigs.
191
192 2005-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
193
194         * SessionStateModule.cs:
195         * SessionId.cs: share the same RNG for all the instances of
196         SessionStateModule.
197
198 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
199
200         * SessionStateModule.cs: hack that makes static files work on sites that
201         use the Session object in global.asax. You need to set
202         MONO_XSP_STATIC_SESSION to enable it and by dong so you will lose a bit 
203         of performance when serving static files. Fixes bug #71133.
204
205 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
206
207         * SessionStateModule.cs: set the path modifier when using cookie-less
208         sessions.
209
210 2004-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
211
212         * SessionStateModule.cs: use SetCurrentExePath instead of SetFilePath.
213
214 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
215
216         * HttpSessionState.cs: don't share static session objects declared in
217         the application file across the application, but on a per-session
218         basis. Fixes bug #65446.
219
220 2004-08-31  Sanjay Gupta <gsanjay@novell.com>
221
222         * SessionStateItemExpireCallback.cs: Explicit modifier "sealed" not 
223         required in definition.
224
225 2004-08-09  Sanjay Gupta <gsanjay@novell.com>
226
227         * SessionStateItemExpireCallback.cs: Added delegate.
228         * SessionStateStoreData.cs: Added a new class.
229
230 2004-08-05  Sanjay Gupta <gsanjay@novell.com>
231
232         * IHttpSessionState.cs: 
233         * ISessionIDModule.cs:
234         * ISessionStateItemCollection.cs: Added new interfaces.
235
236 2004-08-04  Sanjay Gupta <gsanjay@novell.com>
237
238         * SessionStateActionFlags.cs: Added enumeration.
239
240 2004-07-07  Juraj Skripsky <juraj@hotfeet.ch>
241
242         * SessionStateModule.cs: set path in session cookie to application
243         path.
244
245 2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>
246
247         * IStateRuntime.cs: added missing marshalling attributes
248
249 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
250
251         * SessionSQLServerHandler.cs:
252         * SessionStateServerHandler.cs:
253         * ISessionHandler.cs: added new parameter to Init.
254
255         * SessionInProcHandler.cs: use the HttpRuntime cache to store the
256         sessions and handle expiration.
257
258         * SessionStateModule.cs: added OnSessionRemoved internal method that is
259         called whenever a session expires or is removed.
260
261 2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
262
263         * HttpSessionState.cs: added Clone (), which makes and exact copy but
264         with a cloned SessionDictionary. When EnableSessionState is set to
265         ReadOnly, we can modify the collection, but changes are not propagated.
266
267         * ISessionHandler.cs: changed signature of UpdateContext().
268
269         * SessionDictionary.cs: added Clone.
270
271         * SessionInProcHandler.cs:
272         * SessionSQLServerHandler.cs:
273         * SessionStateServerHandler.cs: don't create a new session if the
274         handler do not require it. UpdateContext() now returns an
275         HttpSessionState to the module.
276
277         * SessionStateModule.cs: removed IsReadOnly as it is now passed as a 
278         parameter to the session handler. If the session is read-only, clone
279         it so that it can be changed but changes are not kept.
280
281         In short, we don't create session objects when not required and we
282         honor the ReadOnly sessions.
283
284 2004-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>
285
286         * SessionInProcHandler.cs:
287         * SessionSQLServerHandler.cs:
288         * SessionStateServerHandler.cs: when creating the
289         HttpSessionStateObjets, use the session objects that we know about
290         in HttpApplicationFactory.
291
292 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
293
294         * HttpSessionState.cs:
295         * SessionInProcHandler.cs: IsNewSession doesn't have a public setter.
296
297         * SessionStateModule.cs: doesn't implement IRequiresSessionState.
298         * StateServerItem.cs: not public.
299
300 2004-01-05  Alon Gazit <along@mainsoft.com>
301
302         * SessionDictionary.cs: can't set item's value to null if the item is
303         new.
304
305 2003-12-25  Jackson Harper <jackson@ximian.com>
306
307         * SessionStateModule.cs: Handle SessionStateMode.Off properly in
308         Init. Only set session cookies if a new session is created. This
309         fixes bug #52501.
310         
311 2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
312
313         * IStateRuntime.cs:
314         * SessionStateModule.cs: class status based fixes.
315
316 2003-12-05  Jackson Harper <jackson@ximian.com>
317
318         * SessionStateModule.cs: Add readonly property for readonly
319         sessions. This fixes bug #51647.
320         * SessionInProcHandler.cs:
321         * SessionSQLServerHandler.cs:
322         * SessionStateServerHandler.cs: Cleanup params for
323         HttpSessionState ctor. Make sure to always set is new, cookieless,
324         and readonly properly.
325         
326 2003-12-03  Jackson Harper <jackson@ximian.com>
327
328         * SessionStateModule.cs: If using cookieless sessions add an
329         onbegin request handler that parsers out session ids and rewrites
330         the path. Also redirect to a url with an embedded session id if we
331         are creating a new cookieless session.
332         * SesionInProcHandler.cs:
333         * SessionSQLServerHandler.cs:
334         * SessionStateServerHandler.cs: Use SessionId::Lookup to lookup session
335         ids, don't set the session id cookie anymore. That is handled by
336         the SessionStateModule.
337         * SessionId.cs: Add method for looking up session ids, add some constants.
338         
339 2003-11-26  Jackson Harper <jackson@ximian.com>
340
341         * SessionSQLServerHandler.cs: Fix typo in param name.
342         
343 2003-11-25  Jackson Harper <jackson@ximian.com>
344
345         * RemoteStateServer.cs: Update the session dictionary data and the
346         static objects data.
347         * SessionDictionary.cs: Remove type serialization methods, these
348         have been moved to a utility class. Add convenience methods for
349         converting to/from byte arrays.
350         * SessionSQLServerHandler.cs: 
351         * SessionStateServerHandler.cs: Save/Restore static objects. Use new
352         to/from byte array methods.
353         * StateServerItem.cs: Hold static objects data.
354         
355 2003-11-24  Jackson Harper <jackson@ximian.com>
356
357         * SessionStateServerHandler.cs: Parse connection string. Need to
358         look into what MS allows/doesn't allow better.
359         
360 2003-11-24  Jackson Harper <jackson@ximian.com>
361
362         * RemoteStateServer.cs: The state server object that will reside
363         on the server and store session data and ids.
364         * StateServerItem.cs: Container for session data.
365         * SessionStateServerHandler.cs: Handler that communicates with the
366         StateServer so sessions can be stored out of process.
367         * SessionStateModule.cs: Allow state server mode.
368         
369 2003-11-13  Jackson Harper <jackson@ximian.com>
370
371         * SessionInProcHandler.cs: Use AppDomain.SetData so data is
372         available across all threads. Set the path of session id
373         cookies. Patch by Mohammad DAMT. Fixes bug #50922.
374          
375 2003-11-06 Jackson Harper <jackson@ximian.com>
376
377         * ISessionHandler.cs: Pass the SessionStateModule to handlers when
378         updating.
379         * SessionSqlServerHandler.cs:
380         * SessionInProcHandler.cs: Accept SessionStateModule when
381         updating. Use new SessionId.Create method for creating session
382         ids.
383         * SessionStateModule.cs: Add a random number generator that will
384         be used for creating session ids. Pass this to handlers when
385         updating.
386         * SessionId.cs: New class for creating session ids.
387         
388 2003-11-03 Jackson Harper <jackson@ximian.com>
389
390         * HttpSessionState.cs (CopyTo): Copy values not keys. Patch by Yaron Shkop.
391         
392 2003-11-03 Jackson Harper <jackson@ximian.com>
393
394         * HttpSessionState.cs: Make the SessionDictionary accessable
395         * ISessionHandler.cs: Add method to update the session state
396         data in the handler. Pass the session config to handlers when
397         initializing.
398         * SessionConfig.cs: Add StateNetworkTimeout
399         * SessionInProcHandler.cs: Updates because interface has
400         changed, all functionality is the same.
401         * SessionStateModule.cs: Get new config items, allow SQLServer
402         session manager type. Update session handlers when the session
403         state has been released.
404         * SessionStateSectionHandler.cs: Add StateNetworkTimeout
405         * SessionSQLServerHandler.cs: New class allows sessions to be
406         stored in a database.
407         
408 2003-10-28 Jackson Harper <jackson@ximian.com>
409
410         * HttpSessionState.cs: Do not allow timeout to be set to less then
411         one.
412         
413 2003-10-28 Jackson Harper <jackson@ximian.com>
414
415         * SessionInProcHandler.cs: Compute timeouts
416         correctly. DateTime.Milliseconds is the just the milliseconds part
417         of the time, it is not the entire time as milliseconds.
418         
419 2003-10-13 Ben Maurer  <bmaurer@users.sourceforge.net>
420
421         * SessionStateModule.cs: prevent Context.State from being null if
422         the module is inited in another HttpApplication. Fixes #49569.
423
424 2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
425
426         * IStateRuntime.cs: New interface class
427         * StateRuntime.cs: New class - stubbed out
428
429 2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
430
431         * SessionInProcHandler.cs: Made these internal to fix signature and building CLS-compliant
432
433 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
434
435         * SessionDictionary.cs: locking.
436
437         * SessionInProcHandler.cs: use the new method instead of the setter.
438
439 2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
440
441         * ISessionHandler.cs:
442         * SessionInProcHandler.cs:
443         * SessionStateModule.cs: UpdateContext returns a bool indicating if we
444         started a new session. Only call session start event if that is true.
445
446 2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
447
448         * SessionStateModule.cs: fire application start and session start/end
449         events.
450
451 2003-03-31  Stefan Görling <stefan@gorling.se>
452
453         * HttpSessionState.cs:
454         * ISessionHandler.cs:
455         * SessionInProcHandler.cs:
456         * SessionStateModule.cs: initial implementation of InProc session.
457
458 2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
459
460         * HttpSessionState.cs: implemented CodePage.
461
462         * SessionStateModule.cs: initial stuff to make it work.
463
464 2003-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
465
466         * HttpSessionState.cs: reworked to use SessionDictionary.
467         * SessionDictionary.cs: implemented serialization/deserialization.
468
469 2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
470
471         * SessionConfig.cs:
472         * SessionStateSectionHandler.cs: new files to read <sessionState>
473         configuration.
474
475 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
476
477         * SessionStateModule.cs: don't throw exception.  Just for testing the
478         configuration stuff until we implement this.
479
480 2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
481
482         * HttpSessionState.cs: IsAbandoned is internal.
483         * SessionDictionary.cs: scope fixes.
484         * SessionStateModule.cs: added events.
485
486 2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>
487
488         * System.Web.SessionState/HttpSessionState.cs: 
489         Fixes based on class status page:
490         
491                 - Add attributes (DefaultEvent, ParseChildren).
492                 - Fix declarations.
493                 - Explicitly implement some interfaces (IPostBackDataHandler
494                 and IPostBackEventHandler).
495                 - Implemented some missing methods.
496
497 2002-06-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
498
499         * HttpSessionState.cs: implemented more methods/properties.
500         * SessionDictionary.cs: New file.
501
502 2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
503
504         * System.Web.SessionState/HttpSessionState.cs:
505         * System.Web.SessionState/SessionStateModule.cs: new files with some
506         implementation and the rest stubbed.
507
508 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
509
510         * IReadOnlySessionState.cs:
511         * IRequiresSessionState.cs:
512         * SessionStateMode.cs: new files.
513