Author: kostat
Date: 2007-03-26 08:26:43 -0500 (Mon, 26 Mar 2007)
New Revision: 74979
Modified:
trunk/mcs/class/Mainsoft.Web/Mainsoft.Web.SessionState/ServletSessionStateStoreProvider.cs
Log:
use session timeout taken from web.xml; add support for changing session
timeout programmatically
Modified:
trunk/mcs/class/Mainsoft.Web/Mainsoft.Web.SessionState/ServletSessionStateStoreProvider.cs
===================================================================
---
trunk/mcs/class/Mainsoft.Web/Mainsoft.Web.SessionState/ServletSessionStateStoreProvider.cs
2007-03-26 13:12:30 UTC (rev 74978)
+++
trunk/mcs/class/Mainsoft.Web/Mainsoft.Web.SessionState/ServletSessionStateStoreProvider.cs
2007-03-26 13:26:43 UTC (rev 74979)
@@ -42,8 +42,10 @@
public override SessionStateStoreData CreateNewStoreData
(HttpContext context, int timeout) {
+ // we ignore this timeout and use web.xml settings.
//must set now as this can be a last chance for ro item
- GetSession (context, false).setMaxInactiveInterval
(timeout * 60);
+ //GetSession (context, false).setMaxInactiveInterval
(timeout * 60);
+ timeout = GetSession (context,
false).getMaxInactiveInterval () / 60;
ServletSessionStateItemCollection sessionState = new
ServletSessionStateItemCollection (context);
return new SessionStateStoreData (
sessionState,
@@ -95,7 +97,13 @@
}
public override void ResetItemTimeout (HttpContext context,
string id) {
- //Java does this for us
+ if (context == null)
+ throw new ArgumentNullException ("context");
+ HttpSession session = GetSession (context, false);
+ int current = session.getMaxInactiveInterval ();
+ int requested = context.Session.Timeout * 60;
+ if (current != requested)
+ session.setMaxInactiveInterval (requested);
}
public override void SetAndReleaseItemExclusive (HttpContext
context, string id, SessionStateStoreData item, object lockId, bool newItem) {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches