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