prev inside español div jquery asp.net ajax session asp.net-ajax

inside - jquery siblings



¿Se restablece el tiempo de espera de sesión en cada solicitud? (4)

¿El tiempo de espera de la sesión se restablece en cada solicitud, independientemente de si verificamos las variables de las sesiones? ¿O deberíamos usar al menos una variable de sesión?

¿La solicitud de Ajax causa el reinicio de la sesión? Al igual que el Update Panel , jQuery ajax , ...

Gracias

Editar 1)

¿ HTTP Get causa restablecer el tiempo de espera de sesión?


¿El tiempo de espera de la sesión se restablece en cada solicitud, independientemente de si verificamos las variables de las sesiones?

Session no caducará si sigue llamando al código del lado del servidor. El tiempo de espera de la session se restablecerá en cada solicitud al servidor. En las solicitudes posteriores al mismo sitio web, el navegador proporciona la ASP.NET_SessionId Cookie que el módulo del lado del servidor utiliza para acceder al valor de la sesión (como la información del usuario).

--------------------------------------------------------------------------------- How to detect the Session TimeOut ---------------------------------------------------------------------------------

---------------------------------------------------------------------------------

Pregunta 2 : ¿Ajax solicita que se restablezca el tiempo de espera de la sesión? Al igual que el panel de actualización, jQuery ajax, ...

Pregunta - 3 - ¿HTTP obtiene causa restablecer el tiempo de espera de sesión?

Session caducará en caso de que el usuario haya esperado demasiado entre las solicitudes. Session no caducará si sigue llamando server side código del server side . El tiempo de espera de la session se restablecerá en cada solicitud al servidor

Web.Config <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="true" timeout="1" />


Esto dependerá de muchos factores, por lo que le sugiero que realice una prueba como la siguiente. Realmente toma menos de 5 minutos averiguar si su situación exacta funciona en su entorno. Aquí está mi código que usé para probar esto, uso los controles de Telerik para probar la idea, pero agregué un .get para obtener la respuesta exacta que deseaba. la página aspx tiene

<telerik:RadScriptManager ID="RadScriptManager1" Runat="server"> </telerik:RadScriptManager> <telerik:RadAjaxManager ID="ram" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="btnFake"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="lblAnswer" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <script src="Scripts/jquery-1.4.1-vsdoc.js"></script> <script> $(document).ready(function () { setTimeout(function () { document.location.href = "default.aspx?next"; }, 61000); setInterval(function () { var divForTimer = $("#divTime"); var secs = parseInt(divForTimer.html()); secs = secs + 1; $("#divTime").html(secs.toString()); }, 1000); }); function getPage() { $.get("test.aspx", function(result) { $("#btnFake").val("Got it"); }); } </script> <asp:Label ID="lblAnswer" runat="server"></asp:Label> <Asp:button ID="btnTest" runat="server" Text="Renew" onclick="btnTest_Click" /> <input type="button" ID="btnAjaxget" onclick ="getPage()" value="Ajax get" /> <asp:Button ID="btnFake" runat="server" Text ="Fake it" onclick="btnFake_Click"/> <div id="divTime">1</div>

la página .cs tiene

protected void Page_Load(object sender, EventArgs e) { Session.Timeout = 1; if (EMSG.CommonFunctions.GetSession("test").Length > 0) { this.lblAnswer.Text = "Session=" + EMSG.CommonFunctions.GetSession("test"); } else { this.lblAnswer.Text = "No session"; } } protected void btnTest_Click(object sender, EventArgs e) { Session["test"] = "variable set"; this.lblAnswer.Text = Session["test"].ToString(); } protected void btnFake_Click(object sender, EventArgs e) { lblAnswer.Text = "Ajax called."; }

--- Usted puede arreglar lo anterior para adaptarse a su situación. Pero la idea es simple. Usted carga la página. Haga clic en el botón "Renovar" y esto establecerá su sesión. Espere 61 segundos y la página se actualizará y la variable de sesión desaparecerá. Inténtelo de nuevo, pero esta vez, haga clic en uno de los otros dos botones después de unos segundos y cuando la página se actualice, verá que la variable de sesión se mantuvo intacta de las llamadas ajax. La llamada ajax en esta situación actualiza la variable de sesión.


si lo hace No importa si realmente usas la Session o no.
Sin embargo, si solo está utilizando llamadas ajax, puede tener algunos problemas.
(aunque yo no lo he encontrado, here una explicación)


¿El tiempo de espera de la sesión se restablece en cada solicitud, independientemente de si verificamos las variables de las sesiones? ¿O deberíamos usar al menos una variable de sesión?

Hasta que se establezca una variable de sesión, se generará un nuevo ID de sesión para cada devolución.

¿La solicitud de Ajax causa el reinicio del tiempo de espera de la sesión? Al igual que el panel de actualización, jQuery ajax, ...

El ID de sesión que se guarda en la cookie de forma predeterminada, se envía para cada solicitud AJAX y no AJAX. Por lo tanto, el servidor es consciente de que el usuario de la sesión está activo. No tomes mi palabra por ello. Use Fiddler o la herramienta F12 dentro de ie. Puede ver las cookies que se envían con cada solicitud GET / POST de AJAX.