Si el anfitrión de una página ASP.NET con:IE8 no mantiene variables de sesión
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
protected void btn_Click(object sender, EventArgs e)
{
lbl.Text = HttpContext.Current.Session["a"] == null ?
"null" :
HttpContext.Current.Session["a"].ToString();
}
protected void btn_Click2(object sender, EventArgs e)
{
lbl.Text = HttpContext.Current.Cache["a"] == null ?
"null" :
HttpContext.Current.Cache["a"].ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
HttpContext.Current.Session["a"] = "CBA";
lbl.Text = "assigned Session Variable";
HttpContext.Current.Cache.Add(
"a", "ABC", null,
DateTime.Now.AddHours(2), TimeSpan.Zero,
CacheItemPriority.NotRemovable, null);
}
}
</script>
<html>
<head>
<title>Testing Session</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="btn" runat="server" Text="read Session" OnClick="btn_Click" />
<asp:Button ID="btn2" runat="server" Text="read Cache" OnClick="btn_Click2" />
<hr />
<asp:Label ID="lbl" runat="server" />
</div>
</form>
</body>
</html>
en la primera carrera me pongo el texto assigned Session Variable
, pero al hacer clic en el objeto Session es siempre null
¿Hay alguna opción que necesite activar/desactivar para usar las variables de sesión normales?
funciona bien en IIS 6.0 y Cassini (en VS 2008 y 2010).
estoy empezando a estar sin ideas sobre lo que está pasando: O (
Cualquier ayuda es muy apreciada
el proceso de la página ejemplo anterior
Más pruebas muestra que esto sólo ocurre en IE (Internet Explorer 8 en este caso), Firefox, Safari, Opera, Chrome todos ellos dan la correcta "respuesta"
verificación de la screen cast of the situation
El código aparece diferente al del ejemplo. ¿Qué evento de clic "dispara" el fuego? ¿El que trata con el caché o la sesión? –
sí, terminé agregar un botón 'Caché' también para ver cómo se manejaba Caché ... maneja correctamente, pero necesito las variables de Sesión como las quiero por usuario, no por Aplicación y los datos es algo que realmente no necesito tener en caché. ** ScreenCast ** tiene el nuevo código (el código de ejemplo al comienzo de mi pregunta) – balexandre
Tengo el mismo problema ... ¿Alguien sabe cuál podría ser el problema? El sitio funciona bien en Firefox, pero los usuarios (en todo el país) usan IE8. El sitio estaba funcionando bien en IE8 hasta hace un par de días. No puedo encontrar una explicación! –