ASP.NET Tutorial/Sessions/sessionState

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Controlling When a Session Times Out

   <source lang="csharp">

You can specify the Session timeout in the web configuration file or you can set the Session timeout programmatically. The following web configuration file changes the Session timeout value to 60 (1 hour). File: Web.Config <configuration> <system.web>

 <sessionState timeout="60" />

</system.web> </configuration>

You can modify the Session timeout value programmatically with the Timeout property of the Session object.

Session.Timeout = 60;</source>


If a session ends

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="UsingSessionEnd" EnableSessionState="ReadOnly" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server">

 <title>Using Session State - End</title>

</head> <body>

 <form id="form1" runat="server">

Using Session State - End

          Session value:
           <asp:Label ID="labSession" runat="server" />
<asp:HyperLink ID="lnkSession" runat="server" NavigateUrl="UsingSessionStart.aspx" Text="Go to session start page" />
 </form>

</body> </html> File: Default.aspx.cs

using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class UsingSessionEnd : System.Web.UI.Page {

   protected void Page_Load(object sender, EventArgs e)
   {
      if (Session["Name"] == null)
         labSession.Text = "Session has timed out or not been initialized";
      else
      {
         string name = (string)Session["Name"];
         labSession.Text = name;
      }
   }

}</source>


Using Cookieless Session State

   <source lang="csharp">

The web configuration file enables cookieless sessions by assigning the value AutoDetect to the cookieless attribute. File: Web.Config <configuration> <system.web>

 <sessionState
   cookieless="AutoDetect"
   regenerateExpiredSessionId="true" />

</system.web> </configuration></source>