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