asp.Net内蔵オブジェクトセッション


B/S構造開発に接触して以来,Request,Response,page,cookies,session,Applicationなど,B/S開発のための多くのオブジェクトを学習してきた.RequestとResponseはまた、requestはクライアントがサーバに要求し、Responseはサーバがクライアント要求に応答することを言う.cookies、session、アプリケーションについては、彼らの3つの間のつながりと違いが分からない.aspを勉強することによって.Netと数日のB/Sに対するさらなる接触は、Sessionに対してさらに理解と認識を持っている.

Session


WebのSessionとは,ユーザがあるサイトを閲覧する際に,サイトにアクセスしてからブラウザが閉じるまでの時間,すなわちユーザがこのサイトを閲覧するのにかかる時間を指す.したがって,上記の定義からSessionは実際には特定の時間概念であることが分かる.Sessionの概念には、特定のクライアント、特定のサーバ側、および中断しない操作時間が含まれます.
AユーザとCサーバが接続を確立したときのSessionとBユーザとCサーバが接続を確立したときのSessionは2つの異なるSessionである.Sessionオブジェクトは、ユーザの情報を格納するために使用されます.セッションオブジェクトに格納された変数は、単一のユーザの情報を保持し、1つのアプリケーション内のすべてのページで使用できます.これらの特性は、Webサイトの開発中にSessionを使用してユーザー情報を格納することが多いため、Sessionダイアログを使用して、サーバがどのクライアントと対話しているかを決定することができ、サーバはクライアントの異なる要求に応じてそれぞれ応答することができます.

Sessionアクセス、ログイン権限制御の例


     login.htmlはユーザ登録情報を受け取りloginsuccessに提出する.aspx

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>     </title>
<style type="text/css">

.borderStyele {
	border: 1px solid #3333CC;
}

</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="login.aspx">
  <table width="501" border="0" align="center" id="." class="borderStyele">
    <tr>
      <td width="164" align="right">   :</td>
      <td width="326" align="left"><label>
      <input type="text" name="userName" /><!--         -->
      </label></td>
    </tr>
    <tr>
      <td align="right">  :</td>
      <td align="left"><label>
        <input type="password" name="userPwd" /><!--        -->
      </label></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><label>
        <input type="submit" name="Submit" value="  " /> <!--       loginsuccess.aspx  -->
        <input type="reset" name="Submit2" value="  " /><!--      -->
      </label></td>
    </tr>
  </table>
</form>
</body>
</html>

      loginsuccess.aspxログインに成功したページは,このページにユーザ情報をセッションに格納する.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class login : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string username = Request.Form.Get("userName").ToString();
        Session["username"] = username;
        Session["identity"]="manager"                                                                                                                             Response.Redirect("UserInfomanager.aspx");
    }
}

UserInfomanagerユーザー情報検証ページ。このページでユーザーIDまたはログインの有無を検証します。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class UserInfomanager : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["username"].Equals("aaa")||Session["identify"].equals("manager"))
        {
            Response.Write("      ,      !");
        }
       
    }
}

           
この例は簡単で,クライアントがユーザ登録情報を送信した後,ユーザ名およびアイデンティティをSessionに保存し,UserInfomanagerページにアクセスすると,Sessionの情報に基づいてクライアントの要求に応答するか否かを判断する.
セッションはセッションとも呼ばれ、クライアントが最初に要求したときにセッションが生成され、クライアントブラウザが閉じたときにセッションが終了する.Sessionセッション・メカニズム・サーバを使用すると、異なるクライアントの要求を区別して応答できます.Sessionはストレージオブジェクトとしてクライアントとサーバのセッション要求のすべてのページで有効であり、そのストレージ特性は単一であり、セッションが終了するにつれて時間的に終了する.
以上は私のSessionに対する更なる認識で、不当なところは斧正を望んでいます!