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