1 2006-10-12 Hubert FONGARNAND <informatique.internet@fiducial.fr>
3 Patch from Hubert FONGARNAND
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.
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.
13 2006-09-03 Robert Jordan <robertj@gmx.net>
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>.
19 2006-08-08 Vladimir Krasnov <vladimirk@mainsoft.com>
21 * SessionInProcHandler.jvm.cs:
22 * SessionStateModule.cs: added NET_2_0 parts into TARGET_J2EE
24 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
26 * RemoteStateServer.cs: make it inmortal.
28 2006-07-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
34 2006-06-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
36 * SessionId.cs: make the length of the SessionID 24, as MS.
38 2006-04-19 Sebastien Pouliot <sebastien@ximian.com>
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.
45 2006-03-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
47 * SessionSQLServerHandler.cs: if the connection to the DB is lost, retry
48 the select/update/insert/delete commands after reconnecting.
51 2006-03-04 Robert Jordan <robertj@gmx.net>
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.
58 2006-02-28 Chris Toshok <toshok@ximian.com>
60 * IStateRuntime.cs: wrap new interface method with NET_2_0.
62 2006-02-28 Chris Toshok <toshok@ximian.com>
64 * SessionStateActions.cs: oops, actually rename the enum, not just
67 2006-02-28 Chris Toshok <toshok@ximian.com>
69 * SessionStateActions.cs: rename SessionStateActionFlags to this.
71 * ISessionIDManager.cs: rename ISessionIDModule to this.
73 * IStateRuntime.cs: corcompare work.
75 2006-02-01 Chris Toshok <toshok@ximian.com>
77 * SessionStateServerHandler.cs: CONFIGURATION_2_0 => NET_2_0.
79 * SessionSQLServerHandler.cs: same.
81 * SessionStateModule.cs: same.
83 * ISessionHandler.cs: same.
85 * SessionInProcHandler.cs: same.
87 2006-01-18 Konstantin Triger <kostat@mainsoft.com>
89 * HttpSessionState.jvm.cs: correcting serialization conditions.
91 2006-01-09 Konstantin Triger <kostat@mainsoft.com>
93 * HttpSessionState.jvm.cs: merging HttpSessionState.cs@@/main/19-24
95 2005-11-28 Chris Toshok <toshok@ximian.com>
97 * SessionStateModule.cs: CONFIGURATION_2_0 work.
99 * SessionSQLServerHandler.cs: CONFIGURATION_2_0 work.
101 * SessionInProcHandler.cs: CONFIGURATION_2_0 work.
103 * SessionStateServerHandler.cs: CONFIGURATION_2_0 work.
105 * ISessionHandler.cs (Init): @config is a SessionStateSection if
108 2005-09-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
110 * SessionStateModule.cs: use the new funciton in HttpRequest.
112 2005-09-22 Jackson Harper <jackson@ximian.com>
114 * SessionStateModule.cs: Use a concat instead of a format (mucho
117 2005-09-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
123 2005-09-09 Sebastien Pouliot <sebastien@ximian.com>
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.
135 2005-09-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
137 * SessionStateModule.cs: raise the Start event for new sessions.
139 2005-09-08 Eyal Alaluf <eyala@mainsoft.com>
140 * HttpSessionState.jvm.cs - fixed serialization when we want to serialize
143 2005-09-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
145 * SessionStateModule.cs: Only invoke the End event using the new method
146 in HttpApplicationFactory and when session state mode is InProc.
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.
153 2005-08-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
155 * SessionStateModule.cs: added lock around 'config'.
156 * SessionInProcHandler.cs: when inserting in the the session in the
157 Cache, use sliding expiration only.
159 2005-08-15 Miguel de Icaza <miguel@novell.com>
161 * SessionStateModule.cs: Make this use the synch api as the module
162 was synchronous anyways
164 2005-06-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
166 * SessionInProcHandler.cs: use cache.InsertPrivate.
167 * SessionDictionary.cs: fix typo that made Clone useless.
169 2005-06-08 Ilya Kharmatsky <ilyak-at-mainsoft.com>
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).
178 2005-05-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
187 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
189 * SessionSQLServerHandler.cs:
190 * SessionStateServerHandler.cs: removed warnigs.
192 2005-03-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
194 * SessionStateModule.cs:
195 * SessionId.cs: share the same RNG for all the instances of
198 2005-02-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
205 2004-11-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
207 * SessionStateModule.cs: set the path modifier when using cookie-less
210 2004-10-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
212 * SessionStateModule.cs: use SetCurrentExePath instead of SetFilePath.
214 2004-09-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
220 2004-08-31 Sanjay Gupta <gsanjay@novell.com>
222 * SessionStateItemExpireCallback.cs: Explicit modifier "sealed" not
223 required in definition.
225 2004-08-09 Sanjay Gupta <gsanjay@novell.com>
227 * SessionStateItemExpireCallback.cs: Added delegate.
228 * SessionStateStoreData.cs: Added a new class.
230 2004-08-05 Sanjay Gupta <gsanjay@novell.com>
232 * IHttpSessionState.cs:
233 * ISessionIDModule.cs:
234 * ISessionStateItemCollection.cs: Added new interfaces.
236 2004-08-04 Sanjay Gupta <gsanjay@novell.com>
238 * SessionStateActionFlags.cs: Added enumeration.
240 2004-07-07 Juraj Skripsky <juraj@hotfeet.ch>
242 * SessionStateModule.cs: set path in session cookie to application
245 2004-06-18 Gert Driesen <drieseng@users.sourceforge.net>
247 * IStateRuntime.cs: added missing marshalling attributes
249 2004-06-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
251 * SessionSQLServerHandler.cs:
252 * SessionStateServerHandler.cs:
253 * ISessionHandler.cs: added new parameter to Init.
255 * SessionInProcHandler.cs: use the HttpRuntime cache to store the
256 sessions and handle expiration.
258 * SessionStateModule.cs: added OnSessionRemoved internal method that is
259 called whenever a session expires or is removed.
261 2004-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
267 * ISessionHandler.cs: changed signature of UpdateContext().
269 * SessionDictionary.cs: added Clone.
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.
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.
281 In short, we don't create session objects when not required and we
282 honor the ReadOnly sessions.
284 2004-02-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
292 2004-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
294 * HttpSessionState.cs:
295 * SessionInProcHandler.cs: IsNewSession doesn't have a public setter.
297 * SessionStateModule.cs: doesn't implement IRequiresSessionState.
298 * StateServerItem.cs: not public.
300 2004-01-05 Alon Gazit <along@mainsoft.com>
302 * SessionDictionary.cs: can't set item's value to null if the item is
305 2003-12-25 Jackson Harper <jackson@ximian.com>
307 * SessionStateModule.cs: Handle SessionStateMode.Off properly in
308 Init. Only set session cookies if a new session is created. This
311 2003-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
314 * SessionStateModule.cs: class status based fixes.
316 2003-12-05 Jackson Harper <jackson@ximian.com>
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.
326 2003-12-03 Jackson Harper <jackson@ximian.com>
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.
339 2003-11-26 Jackson Harper <jackson@ximian.com>
341 * SessionSQLServerHandler.cs: Fix typo in param name.
343 2003-11-25 Jackson Harper <jackson@ximian.com>
345 * RemoteStateServer.cs: Update the session dictionary data and the
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.
355 2003-11-24 Jackson Harper <jackson@ximian.com>
357 * SessionStateServerHandler.cs: Parse connection string. Need to
358 look into what MS allows/doesn't allow better.
360 2003-11-24 Jackson Harper <jackson@ximian.com>
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.
369 2003-11-13 Jackson Harper <jackson@ximian.com>
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.
375 2003-11-06 Jackson Harper <jackson@ximian.com>
377 * ISessionHandler.cs: Pass the SessionStateModule to handlers when
379 * SessionSqlServerHandler.cs:
380 * SessionInProcHandler.cs: Accept SessionStateModule when
381 updating. Use new SessionId.Create method for creating session
383 * SessionStateModule.cs: Add a random number generator that will
384 be used for creating session ids. Pass this to handlers when
386 * SessionId.cs: New class for creating session ids.
388 2003-11-03 Jackson Harper <jackson@ximian.com>
390 * HttpSessionState.cs (CopyTo): Copy values not keys. Patch by Yaron Shkop.
392 2003-11-03 Jackson Harper <jackson@ximian.com>
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
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.
408 2003-10-28 Jackson Harper <jackson@ximian.com>
410 * HttpSessionState.cs: Do not allow timeout to be set to less then
413 2003-10-28 Jackson Harper <jackson@ximian.com>
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.
419 2003-10-13 Ben Maurer <bmaurer@users.sourceforge.net>
421 * SessionStateModule.cs: prevent Context.State from being null if
422 the module is inited in another HttpApplication. Fixes #49569.
424 2003-07-30 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
426 * IStateRuntime.cs: New interface class
427 * StateRuntime.cs: New class - stubbed out
429 2003-07-17 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
431 * SessionInProcHandler.cs: Made these internal to fix signature and building CLS-compliant
433 2003-07-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
435 * SessionDictionary.cs: locking.
437 * SessionInProcHandler.cs: use the new method instead of the setter.
439 2003-07-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
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.
446 2003-05-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
448 * SessionStateModule.cs: fire application start and session start/end
451 2003-03-31 Stefan Görling <stefan@gorling.se>
453 * HttpSessionState.cs:
454 * ISessionHandler.cs:
455 * SessionInProcHandler.cs:
456 * SessionStateModule.cs: initial implementation of InProc session.
458 2003-03-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460 * HttpSessionState.cs: implemented CodePage.
462 * SessionStateModule.cs: initial stuff to make it work.
464 2003-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
466 * HttpSessionState.cs: reworked to use SessionDictionary.
467 * SessionDictionary.cs: implemented serialization/deserialization.
469 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
472 * SessionStateSectionHandler.cs: new files to read <sessionState>
475 2002-10-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
477 * SessionStateModule.cs: don't throw exception. Just for testing the
478 configuration stuff until we implement this.
480 2002-08-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
482 * HttpSessionState.cs: IsAbandoned is internal.
483 * SessionDictionary.cs: scope fixes.
484 * SessionStateModule.cs: added events.
486 2002-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
488 * System.Web.SessionState/HttpSessionState.cs:
489 Fixes based on class status page:
491 - Add attributes (DefaultEvent, ParseChildren).
493 - Explicitly implement some interfaces (IPostBackDataHandler
494 and IPostBackEventHandler).
495 - Implemented some missing methods.
497 2002-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
499 * HttpSessionState.cs: implemented more methods/properties.
500 * SessionDictionary.cs: New file.
502 2002-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
504 * System.Web.SessionState/HttpSessionState.cs:
505 * System.Web.SessionState/SessionStateModule.cs: new files with some
506 implementation and the rest stubbed.
508 2002-06-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
510 * IReadOnlySessionState.cs:
511 * IRequiresSessionState.cs:
512 * SessionStateMode.cs: new files.