ASP.NETの組み込みオブジェクト

5045 ワード


Request


このオブジェクトは、ブラウザからサーバに送信されたリクエストの情報を取得するために使用されます.「発行」ボタンを押すと、RequestオブジェクトはHTTPリクエストで送信されたパラメータを読み込み、抽出します.ユーザーがフォームをコミットすると、入力コントロールに含まれるデータがフォームとともに送信されます.
サーバにデータをコミットする場合は、次の2つの方法があります.

Getコミット:


 
//get

            string userName = Request.QueryString["txtUserName"].ToString();

            string userPwd = Request.QueryString["txtUserPwd"].ToString();

            Response.Write("       " + "userName ");

 

Postコミット:


 
//post

            string userName = Request["txtUserName"].ToString();

            string userPwd = Request["txtUserPwd"].ToString();

            string userName = Request.Form.Get("txtUserName").ToString();

            string userPwd = Request.Form.Get("txtUserPwd").ToString();


 
 

PostとGetの違い:


1,Getはフォーム内のデータをvariable=valueの形式でactionが指すURLの後ろに追加し,両者は「?」接続、各変数間で「&」接続を使用します.Postはフォームのデータをformのデータ体に置き、変数と値に応じてactionが指すURLに渡す. 
例えばページがありますhtml、このページにはテキストドメインがあります.名前は:a、値は123です.getで提出するとurlはindexになります.html?a=123、取得する時、ブラウザからパラメータを返して、フォームではありません!
2,Getは安全ではありません.伝送中にデータが要求されたURLに格納されているためです.現在、既存の多くのサーバ、エージェントサーバ、またはユーザーエージェントが要求されたURLをログファイルに記録し、どこかに配置すると、第三者にプライバシーの情報が表示される可能性があります.また、ユーザーはブラウザでコミットされたデータを直接見ることができ、一部のシステム内部のメッセージがユーザーの前に表示されます.Postのすべての操作はユーザーにとって表示されません. 
3,Get伝送のデータ量は小さく、これは主にURLの長さに制限されているためである.Postは大量のデータを転送できるので、アップロードファイルではPostしか使用できません. 
4,GetはFormのデフォルトメソッドです.
 
 

Response


主にサーバ側からクライアントへのデータ送信に用いる、ここではResponseを利用することができる.Writeはお客様に直接メッセージを送信し、responseを利用することもできます.Redirectはクライアントを別のURLに再配置し、もちろんResponseも利用できる.CookiesでCookiesの値を設定します.

Application


このオブジェクトは、アプリケーション・レベルの情報を共有するために使用されます.すなわち、アプリケーション全体の変数のセットを維持し、これらの変数は、アプリケーションにアクセスしているすべてのユーザによって共有することができる.
アプリケーション・オブジェクトを使用して、ASPアプリケーション全体のすべてのユーザーがデータを共有し、1つのASPプログラムの異なるユーザー、異なるページを関連付ける
 

Session


このオブジェクトは、複数のページ呼び出し間の特定のユーザの情報を格納するために使用されます.複数のページにアクセスできるアクセス者のユーザー情報を格納しますが、2人のアクセス者間では共有できません.
各ユーザがこのウェブサーバで接続を確立すると、リンクが作成され、このサーバとセッションが確立され、サーバは自動的にセッションIDを割り当てて、このユーザの一意のアイデンティティを識別します.特に、Sessionオブジェクトの変数は1人のユーザに対してのみ有効であり、異なるユーザのセッション情報は異なるSessionオブジェクトの変数で格納される.ネットワーク環境ではSessionオブジェクトの変数にライフサイクルがあり、所定の時間にSessionオブジェクトの変数をリフレッシュしないと、システムはこれらの変数を終了します.
 
 

Server


このオブジェクトは、サーバ上のリソースにアクセスするために使用されます.あなたが今要求しているサーバーの情報を取得します.たとえば、サーバで作成およびインストールされたコンポーネントにアクセスします.
    
//    ,     

 protected void btnLoad_Click(object sender, EventArgs e)

        {

            this.FileUpload1.PostedFile.SaveAs(Server.MapPath("upFile") + "\\1.jpg");

            this.Image1.ImageUrl = Server.MapPath("upFile") + "\\1.jpg";

        }

Cookie:


Webプログラミングでは、4 K以下の長さの通常のテキストファイルを表します.このファイルはユーザーのハードディスク上にあり、Webブラウザからアクセスできます.ユーザを識別するためにWEBサーバによってユーザブラウザに埋め込まれ、ユーザの要求ごとにWEBサーバに送信される.これにより、サーバがどのユーザであるかを識別できます.

Global.asaファイル:


イベント情報とアプリケーションによってグローバルに使用されるオブジェクトを格納します.global.asaはASPのグローバルアプリケーションファイルです.主にセッションオブジェクトとアプリケーションオブジェクト、および対応するイベントを定義する.
 
SessionオブジェクトとApplicationオブジェクトには2つのイベントがあります.彼らのイベントを使用するには、まずGlobalでなければなりません.asaファイルには、ユーザにとって非表示であるファイル名も固定されており、アプリケーションのルートディレクトリの下に置く必要があり、各アプリケーションに1つのGlobalしか持たないと宣言する.asaファイル
 
例:globalでオンライン人数を表示します.asaで作成
 
 public class Global : HttpApplication

    {

        void Application_Start(object sender, EventArgs e)

        {

            //              

            BundleConfig.RegisterBundles(BundleTable.Bundles);

            AuthConfig.RegisterOpenAuth();

            Application.Add("count", 0);

            Application["online"] = 0;

        }



        void Application_End(object sender, EventArgs e)

        {

            //               



        }



        void Application_Error(object sender, EventArgs e)

        {

            //                



        }



        void Session_Start(object sender, EventArgs e)

        {

            Session.Timeout = 1;

            Application.Lock();

            Application["count"] = (int)Application["count"] + 1;

            Application["online"] = (int) Application["online"] +1;

            Application.UnLock();

        }



        void Session_End(object sender, EventArgs e)

        {

            Application.Lock();

            Application["online"] = (int)Application["online"] - 1;

            Application.UnLock();

        }

        

    }

Webアプリケーションで作成:
 
  protected void Page_Load(object sender, EventArgs e)

        {     

            Response.Write(Application["count"].ToString());   

        }

以上,これらのオブジェクトはかなりの機能を提供しているが,異なるオブジェクトの応用場面が異なり,これは理解を深め,今後の実践に応用する必要がある.