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