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