..


スポンサーリンク

セッション状態の管理

Webアプリケーションの開発と展開には常に同じ状態の監視を必要とします。 最も重要なのいずれかの状態は、セッション(セッション状態)に関連付けられ、ASP.NETは、その管理のための素晴らしいサポートを提供しています。

この時点で、マニュアルでは、プログラミングで開発されたWebアプリケーションが切断されたプロトコル(HTTP)に基づいて、大面積に分散し、複数のユーザーにサービスを提供することを明確にする必要があります。

セッション状態は各リクエストに対して有効になっている場合、ASP.NETは、コンテキストの一部となる新しいSessionオブジェクトを、作成し、ページを介してアクセス可能です。 このオブジェクトに識別子を割り当てられ、それは持続時間、それが参照するページを超えている情報の便利なコンテナになります。

Sessionオブジェクトは、名前/値ペアのディクショナリであり、必要なときにあなたがそれにアクセスできるようにそれを介して、独自のキーを使用して、キーに任意のオブジェクトをバインドできます。

例えば、我々は、セッションオブジェクト内のユーザに関する情報を格納する場合のように記述する必要があります






 StoreInfoInSessionボイド()







 {

 

  



文字列= TextBox1.Text strInputUtente;

 

  



セッション["strInputUtente"] = strInputUtente;







 }



我々はこの値を取得する場合は、後続のリクエストは、我々は、書くべきである





 GetInfoFromSessionボイド()







 {

 

  



 StrInputUtente文字列=セッション["strInputUtente"];

 

  



 TextBox1.Text = strInputUtente;







 }



ASP.NETのセッション状態を管理することは、オブジェクトのこのタイプでこの技術が異なる場所に配置することができます特にため、非常に便利です:現在のプロセスでは、、サーバー上のSQL Serverデータベースを分離した。

セッションは、我々はセッション状態の一部として値を格納するページでウェブサイトを作成する参照例がいかによりよく理解する。 これが要求されたサービスと述べたように、セッションに関連付けられた情報の間にページの状態の違いを明確にする、さらに要求の後に続く。

私たちは、新しいWebアプリケーションを作成し、WebフォームのDefault.aspxにはセッション状態に格納される値を入力するテキストボックスを挿入します。 我々はデータを格納し、ステータスを表示するには、2つのボタン、1つを追加することも

また後で折り返し電話をするデータを表示するラベルの横にあるテキストボックスを挿入します。 私達のページで文字列型の変数を挿入し、Page_Loadで私達のテキストボックスにこの文字列の値を設定する






 sessionStringの文字列;









保護されたボイドをPage_Load(オブジェクト送信者、EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;







 }



同じテキストでラベル面を設定し、対応する内側を生成し、テキストボックスに含まれる文字列を取得し、変数sessionStringに格納するコードを挿入するボタンのClickイベントストアをダブルクリックする





 MemorizzaBtn_Click保護されたボイド(オブジェクトの送信者、EventArgs e)







 {



  



 this.sessionString = this.TextBox1.Text;



  



 this.Label1.Text = this.sessionString;







 }



我々はアプリケーションを起動し、テキストボックスに何かを記述し、保存をクリックしてください。 我々は次のように表示されるはずです

我々は[表示]ボタンをクリックすると、変数が(ページが再作成されているため)、再度sessionStringインスタンス化されるラベルは、空の文字列の値をとります。 我々はラベルのTextプロパティを変数sessinStringの値に設定されているPage_Loadでそれを設定したためです。 我々は実際に何回か言及したように、ページが非常に短命のオブジェクトである場合、要求のライフタイムとは、それらのすべてのデータが破壊されています。 目標は、できるだけ早くアプローチが良好でないとページの期間を超えていくつかのデータを格納するということであれば。

セッション状態の使用は、この問題を解決する方法です。 よりよい私達が私達のウェブフォーム2番目のラベルを追加し、その既に存在するとしてそれを設定する概念を説明する

この番目のラベルは、Sessionオブジェクトを介して取得したデータを表示するために有用であろう。 MemorizzaBtn_Clickは、テキストボックスから取得したテキストはまた、セッションに格納されているように、イベントを変更する






 MemorizzaBtn_Click保護されたボイド(オブジェクトの送信者、EventArgs e)







 {



  



 / /格納するローカル変数の値



  



 this.sessionString = this.TextBox1.Text;





  



 / /保存するセッションの値



  



 this.Session ["sessionString"] = this.TextBox1.Text;





  



 / /変数の値を表示する



  



 this.Label1.Text = this.sessionString;





  



 / /セッションの値を表示する



  



 this.Label2.Text =(文字列)this.Session ["sessionString"];







 }



また、2つ目のセットではラベル文字列は、セッションから取得するように、Page_Loadイベントを変更する





保護されたボイドをPage_Load(オブジェクト送信者、EventArgs e)







 {



  



 this.Label1.Text = this.sessionString;



  



 this.Label2.Text =(文字列)this.Session ["sessionString"];







 }



我々は、保存してボタンをクリックすると、現在のアプリケーションを起動し、テキストボックスに再び何かを書く。 我々は次のように表示されるはずです

ここで表示をクリックすると、後者は値を維持する一方、最初のパラメータが空の文字列に設定されていることがわかります

ページが再作成されているため、ローカル変数の値は、失われている間、Sessionオブジェクトに格納されている値が持続して相談することができます。

セッションの管理のためのさまざまなパラメータの設定に関しては私はあなたがマイクロソフトの公式マニュアルを参照して招待する。

Visual StudioでASP.Netで役立つ
E -ラーニング
ASP(上級) ASP(上級)
動的なWebサイトを作成するためのフルコース。 39€から。
ASP.NET(コース) ASP.NET(コース)
49€からWebアプリケーションを構築するためのフルコース。
SQLとデータベース(コース) SQLとデータベース(コース)
リレーショナルデータベースを作成および管理。 39€から。
スポンサーリンク