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