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