2004-05-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* HttpSessionState.cs: added Clone (), which makes and exact copy but
	with a cloned SessionDictionary. When EnableSessionState is set to
	ReadOnly, we can modify the collection, but changes are not propagated.

	* ISessionHandler.cs: changed signature of UpdateContext().

	* SessionDictionary.cs: added Clone.

	* SessionInProcHandler.cs:
	* SessionSQLServerHandler.cs:
	* SessionStateServerHandler.cs: don't create a new session if the handler
	do not require it. UpdateContext() now returns an HttpSessionState to
	the module.

	* SessionStateModule.cs: removed IsReadOnly as it is now passed as a 
	parameter to the session handler. If the session is read-only, clone
	it so that it can be changed but changes are not kept.

	In short, we don't create session objects when not required and we
	honor the ReadOnly sessions.

2004-02-09  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* SessionInProcHandler.cs:
	* SessionSQLServerHandler.cs:
	* SessionStateServerHandler.cs: when creating the
	HttpSessionStateObjets, use the session objects that we know about
	in HttpApplicationFactory.

2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* HttpSessionState.cs:
	* SessionInProcHandler.cs: IsNewSession doesn't have a public setter.

	* SessionStateModule.cs: doesn't implement IRequiresSessionState.
	* StateServerItem.cs: not public.

2004-01-05  Alon Gazit <along@mainsoft.com>

	* SessionDictionary.cs: can't set item's value to null if the item is
	new.

2003-12-25  Jackson Harper <jackson@ximian.com>

	* SessionStateModule.cs: Handle SessionStateMode.Off properly in
	Init. Only set session cookies if a new session is created. This
	fixes bug #52501.
	
2003-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* IStateRuntime.cs:
	* SessionStateModule.cs: class status based fixes.

2003-12-05  Jackson Harper <jackson@ximian.com>

	* SessionStateModule.cs: Add readonly property for readonly
	sessions. This fixes bug #51647.
	* SessionInProcHandler.cs:
	* SessionSQLServerHandler.cs:
	* SessionStateServerHandler.cs: Cleanup params for
	HttpSessionState ctor. Make sure to always set is new, cookieless,
	and readonly properly.
	
2003-12-03  Jackson Harper <jackson@ximian.com>

	* SessionStateModule.cs: If using cookieless sessions add an
	onbegin request handler that parsers out session ids and rewrites
	the path. Also redirect to a url with an embedded session id if we
	are creating a new cookieless session.
	* SesionInProcHandler.cs:
	* SessionSQLServerHandler.cs:
	* SessionStateServerHandler.cs: Use SessionId::Lookup to lookup session
	ids, don't set the session id cookie anymore. That is handled by
	the SessionStateModule.
	* SessionId.cs: Add method for looking up session ids, add some constants.
	
2003-11-26  Jackson Harper <jackson@ximian.com>

	* SessionSQLServerHandler.cs: Fix typo in param name.
	
2003-11-25  Jackson Harper <jackson@ximian.com>

	* RemoteStateServer.cs: Update the session dictionary data and the
	static objects data.
	* SessionDictionary.cs: Remove type serialization methods, these
	have been moved to a utility class. Add convenience methods for
	converting to/from byte arrays.
	* SessionSQLServerHandler.cs: 
	* SessionStateServerHandler.cs: Save/Restore static objects. Use new
	to/from byte array methods.
	* StateServerItem.cs: Hold static objects data.
	
2003-11-24  Jackson Harper <jackson@ximian.com>

	* SessionStateServerHandler.cs: Parse connection string. Need to
	look into what MS allows/doesn't allow better.
	
2003-11-24  Jackson Harper <jackson@ximian.com>

	* RemoteStateServer.cs: The state server object that will reside
	on the server and store session data and ids.
	* StateServerItem.cs: Container for session data.
	* SessionStateServerHandler.cs: Handler that communicates with the
	StateServer so sessions can be stored out of process.
	* SessionStateModule.cs: Allow state server mode.
	
2003-11-13  Jackson Harper <jackson@ximian.com>

	* SessionInProcHandler.cs: Use AppDomain.SetData so data is
	available across all threads. Set the path of session id
	cookies. Patch by Mohammad DAMT. Fixes bug #50922.
	 
2003-11-06 Jackson Harper <jackson@ximian.com>

	* ISessionHandler.cs: Pass the SessionStateModule to handlers when
	updating.
	* SessionSqlServerHandler.cs:
	* SessionInProcHandler.cs: Accept SessionStateModule when
	updating. Use new SessionId.Create method for creating session
	ids.
	* SessionStateModule.cs: Add a random number generator that will
	be used for creating session ids. Pass this to handlers when
	updating.
	* SessionId.cs: New class for creating session ids.
	
2003-11-03 Jackson Harper <jackson@ximian.com>

	* HttpSessionState.cs (CopyTo): Copy values not keys. Patch by Yaron Shkop.
	
2003-11-03 Jackson Harper <jackson@ximian.com>

	* HttpSessionState.cs: Make the SessionDictionary accessable
	* ISessionHandler.cs: Add method to update the session state
	data in the handler. Pass the session config to handlers when
	initializing.
	* SessionConfig.cs: Add StateNetworkTimeout
	* SessionInProcHandler.cs: Updates because interface has
	changed, all functionality is the same.
	* SessionStateModule.cs: Get new config items, allow SQLServer
	session manager type. Update session handlers when the session
	state has been released.
	* SessionStateSectionHandler.cs: Add StateNetworkTimeout
	* SessionSQLServerHandler.cs: New class allows sessions to be
	stored in a database.
	
2003-10-28 Jackson Harper <jackson@ximian.com>

	* HttpSessionState.cs: Do not allow timeout to be set to less then
	one.
	
2003-10-28 Jackson Harper <jackson@ximian.com>

	* SessionInProcHandler.cs: Compute timeouts
	correctly. DateTime.Milliseconds is the just the milliseconds part
	of the time, it is not the entire time as milliseconds.
	
2003-10-13 Ben Maurer  <bmaurer@users.sourceforge.net>

	* SessionStateModule.cs: prevent Context.State from being null if
	the module is inited in another HttpApplication. Fixes #49569.

2003-07-30  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* IStateRuntime.cs: New interface class
	* StateRuntime.cs: New class - stubbed out

2003-07-17  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* SessionInProcHandler.cs: Made these internal to fix signature and building CLS-compliant

2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* SessionDictionary.cs: locking.

	* SessionInProcHandler.cs: use the new method instead of the setter.

2003-07-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* ISessionHandler.cs:
	* SessionInProcHandler.cs:
	* SessionStateModule.cs: UpdateContext returns a bool indicating if we
	started a new session. Only call session start event if that is true.

2003-05-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* SessionStateModule.cs: fire application start and session start/end
	events.

2003-03-31  Stefan Grling <stefan@gorling.se>

	* HttpSessionState.cs:
	* ISessionHandler.cs:
	* SessionInProcHandler.cs:
	* SessionStateModule.cs: initial implementation of InProc session.

2003-03-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* HttpSessionState.cs: implemented CodePage.

	* SessionStateModule.cs: initial stuff to make it work.

2003-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* HttpSessionState.cs: reworked to use SessionDictionary.
	* SessionDictionary.cs: implemented serialization/deserialization.

2003-03-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* SessionConfig.cs:
	* SessionStateSectionHandler.cs: new files to read <sessionState>
	configuration.

2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* SessionStateModule.cs: don't throw exception.  Just for testing the
	configuration stuff until we implement this.

2002-08-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* HttpSessionState.cs: IsAbandoned is internal.
	* SessionDictionary.cs: scope fixes.
	* SessionStateModule.cs: added events.

2002-06-30  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* System.Web.SessionState/HttpSessionState.cs: 
	Fixes based on class status page:
	
		- Add attributes (DefaultEvent, ParseChildren).
		- Fix declarations.
		- Explicitly implement some interfaces (IPostBackDataHandler
		and IPostBackEventHandler).
		- Implemented some missing methods.

2002-06-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* HttpSessionState.cs: implemented more methods/properties.
	* SessionDictionary.cs: New file.

2002-06-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* System.Web.SessionState/HttpSessionState.cs:
	* System.Web.SessionState/SessionStateModule.cs: new files with some
	implementation and the rest stubbed.

2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* IReadOnlySessionState.cs:
	* IRequiresSessionState.cs:
	* SessionStateMode.cs: new files.

