¿Hay algún problema en el siguiente código en términos de usuarios múltiples de la misma aplicación web? Quiero decir, sé que una cadena puramente estática se compartirá en todas las sesiones para una única aplicación ASP.NET, pero dado que esto se refiere explícitamente al Current.Session
, aunque es estático, parece que siempre se referirá a la instancia de sesión. del "usuario actual".¿La referencia estática a HttpContext.Current.Session devuelve la misma sesión para todos los usuarios?
Pero ocurre un error que podría ser explicado por todos los que comparten el valor actual de Mode
y, por lo tanto, el cambio más reciente que sobrescribe el valor de modo de todos los demás.
(de fondo:. Esta cadena está en una clase Helpers
que se utiliza en toda la aplicación no quiero hacer referencias codificadas difíciles de Session["Mode"]
en toda la aplicación y no quiero tener que pasar Session["Mode"]
en cada método llamada de una página de aspx.cs.)
public static string Mode
{
get
{
var value = HttpContext.Current.Session["Mode"];
return (value ?? string.Empty).ToString();
}
set
{
HttpContext.Current.Session["Mode"] = value;
}
}
"Obtiene o establece el objeto HttpContext para la solicitud HTTP actual." http://msdn.microsoft.com/en-us/library/system.web.httpcontext.current.aspx –