ASP.NET Tutorial/Sessions/sessionState — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 11:57, 26 мая 2010
Controlling When a Session Times Out
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;
If a session ends
<%@ 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">
<div id="container">
<h1>Using Session State - End</h1>
Session value:
<asp:Label ID="labSession" runat="server" /><br />
<asp:HyperLink ID="lnkSession" runat="server" NavigateUrl="UsingSessionStart.aspx" Text="Go to session start page" /><br />
</div>
</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;
}
}
}
Using Cookieless Session State
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>