【学習ノート】ASP.NETページ間の値伝達方式のセッション

12425 ワード

Session
SessionはASP.NETでは、クライアント(Goggle,Firefox,IEなど)とサーバ側のセッションを表し、特定のセッション情報を格納するために用いられ、正確には、特定のユーザ情報を格納するために用いられる.クライアントがサーバに要求を送信すると、例えばログインユーザID、サーバはその要求を受信し、サーバ側Sessionはそのログインユーザに関連するSessionIDを生成し、SessionIDをクライアント(Goggle,Firefox,IEなど)に返し、新しいセッションが開始されると、サーバはSessionIDをクッキーとしてユーザのブラウザに格納する.
Session操作はアプリケーションと同様にユーザー個人に作用するため、過剰なストレージはサーバのメモリリソースの消費を招く.
なぜセッションを導入したのですか?httpは無状態プロトコルであるため,Sessionがこの欠陥を補っていることが知られている.もちろん,Sessionの役割はこれらにとどまらず,ここではあまり論じない.
利点:1.シンプルを使用すると、単純なデータ型だけでなく、オブジェクトも転送できます.     2.データ量の大きさは制限されません.
欠点:1.Session変数に大量のデータを格納すると、サーバリソースが消費されます.
     2.紛失しやすい.(IISサーバの再起動時にセッションが失われた)
ps:SessionデータをSQL Serverデータベースに格納ように構成することができ、このような構成を行うために、プログラマはまずSQL Serverデータサーバを準備してから実行する必要がある.NETはインストールツールを持参してステータスデータベースをインストールします.この方法は、メモリとディスクに格納されているため、サーバが再起動を切った後も残っています.使用方法:1.ソースページのコードに渡す名前と値を作成してSession変数を構築します:Session[Name]=[Value(Or Object)];
       2.宛先ページのコードでSession変数を使用して渡された値を取り出します.Result = Session["Nmae"]
注意:sessionは使わない时にそれを破壊することができて、破壊の方法は:1つをクリアします:Session.Remove(「session名」);すべてクリア:Session.Clear();
  (1)a.aspx
"C#" AutoEventWireup="true" CodeBehind="a.aspx.cs" Inherits="WebApplication.a" %>



"http://www.w3.org/1999/xhtml">
"server">
"Content-Type" content="text/html; charset=utf-8"/>
    


    </code></pre><form id="<span" style="color: #800000;">"<span style="color: #800000;">form1</span><span style="color: #800000;">"</span> runat=<span style="color: #800000;">"</span><span style="color: #800000;">server</span><span style="color: #800000;">"</span>>
        <div>
            <label id="<span" style="color: #800000;">"<span style="color: #800000;">Label1</span><span style="color: #800000;">"</span> runat=<span style="color: #800000;">"</span><span style="color: #800000;">server</span><span style="color: #800000;">"</span> Text=<span style="color: #800000;">"</span><span style="color: #800000;">   </span><span style="color: #800000;">"</span>></label>
            <button id="<span" style="color: #800000;">"<span style="color: #800000;">Button1</span><span style="color: #800000;">"</span> runat=<span style="color: #800000;">"</span><span style="color: #800000;">server</span><span style="color: #800000;">"</span> Text=<span style="color: #800000;">"</span><span style="color: #800000;">Button</span><span style="color: #800000;">"</span> OnClick=<span style="color: #800000;">"</span><span style="color: #800000;">Button1_Click</span><span style="color: #800000;">"</span> />
        </button></div>
    </form>

 
 </div> 
 <p>  (2)a.aspx.cs</p> 
 <div class="cnblogs_code"> 
  <pre><code><span style="color: #0000ff;">using</span><span style="color: #000000;"> System;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Collections.Generic;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Linq;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Web;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Web.UI;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Web.UI.WebControls;

</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;"> WebApplication
{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">partial</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> a : System.Web.UI.Page
    {
        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">void</span> Page_Load(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {

        }
        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">void</span> Button1_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            Session[</span><span style="color: #800000;">"</span><span style="color: #800000;">name</span><span style="color: #800000;">"</span>] =<span style="color: #000000;"> Label1.Text;<span style="color: #008000;">// label1    Session</span>
            Session.Timeout </span>= <span style="color: #800080;">1</span>;<span style="color: #008000;">//</span><span style="color: #008000;">  Session         ,    Session  </span>
            Response.Redirect(<span style="color: #800000;">"</span><span style="color: #800000;">b.aspx</span><span style="color: #800000;">"</span><span style="color: #000000;">);
        }
    }
}</span></code></pre> 
 </div> 
 <p>  (3)b.aspx</p> 
 <div class="cnblogs_code"> 
  <pre><code>"<span style="color: #800000;">C#</span><span style="color: #800000;">"</span> AutoEventWireup=<span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span> CodeBehind=<span style="color: #800000;">"</span><span style="color: #800000;">b.aspx.cs</span><span style="color: #800000;">"</span> Inherits=<span style="color: #800000;">"</span><span style="color: #800000;">WebApplication.b</span><span style="color: #800000;">"</span> %>



"<span style="color: #800000;">http://www.w3.org/1999/xhtml</span><span style="color: #800000;">"</span>>
"<span style="color: #800000;">server</span><span style="color: #800000;">"</span>>
<meta http-equiv="<span" style="color: #800000;"/>"<span style="color: #800000;">Content-Type</span><span style="color: #800000;">"</span> content=<span style="color: #800000;">"</span><span style="color: #800000;">text/html; charset=utf-8</span><span style="color: #800000;">"</span>/>
    <title/>


    </code></pre><form id="<span" style="color: #800000;">"<span style="color: #800000;">form1</span><span style="color: #800000;">"</span> runat=<span style="color: #800000;">"</span><span style="color: #800000;">server</span><span style="color: #800000;">"</span>>
        <div>
            <label id="<span" style="color: #800000;">"<span style="color: #800000;">Label1</span><span style="color: #800000;">"</span> runat=<span style="color: #800000;">"</span><span style="color: #800000;">server</span><span style="color: #800000;">"</span> Text=<span style="color: #800000;">"</span><span style="color: #800000;">Label</span><span style="color: #800000;">"</span>></label>
        </div>
    </form>

 
 </div> 
 <p>  (4)b.aspx.cs</p> 
 <div class="cnblogs_code"> 
  <pre><code><span style="color: #0000ff;">using</span><span style="color: #000000;"> System;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Collections.Generic;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Linq;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Web;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Web.UI;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.Web.UI.WebControls;

</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;"> WebApplication
{
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">partial</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> b : System.Web.UI.Page
    {
        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">void</span> Page_Load(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            Label1.Text </span>= Session[<span style="color: #800000;">"</span><span style="color: #800000;">name</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
        }
    }
}</span></code></pre> 
 </div> 
 <p>  (5)  a  ,  Button   b  ,            “       ”,  ,    Session    !</p> 
 <p>                         </p> 
 <p style="text-align: right;">ps:                       ,           ,      。</p> 
</div>
                            </div>
                        </div>