« 基礎からのASP.NETを読む(1) | トップページ | 8月4日、5日のトレーニング »

2010年8月 4日 (水)

基礎からのASP.NETを読む(2)

一昨日から読み始めた基礎からのASP.NET SE必修! (SE必修!プログラマの種シリーズ)なんですが、
昨日は、ASP.NETの仕組みについて書かれていました。

ASP.NETは、
リクエスト情報の取得、サーバ側Webアプリケーションの管理、パフォーマンス向上
レスポンス用のインターフェイスの提供、ブラウザ毎に最適化したHTMLを動的に生成。
などの機能を提供してくれるものだそうです。

以下、ポイント整理

基本的には、.aspxファイルにHTMLとサーバで処理するタグを記述させる、PHP、JSPなどと
同じような構成だということです。
実際には、GUI部分だけを.aspxに記述して制御コードは.vb or .csに記述する
コードビハインドさせるようです。
(こうする事で可読性が上がる。ということです)

ASP.NETのアプリケーションの呼び出しは、


  1. ブラウザからのリクエスト

  2. IISでの受付

  3. ISAPIフィルタ(Aspnet_isapi.dll)にディスパッチ

  4. HttpApplicationオブジェクトの起動

  5. HttpApplicationオブジェクトがHTTPModelを前処理として実行

  6. Pageオブジェクトを起動

  7. Pageオブジェクトを実行(.aspxはこの部分の処理を記述する)

  8. 結果を返す。

.NET対応言語はすべてアセンブリ(IL)にコンパイルされる。
実行時にJITコンパイラでネイティブにコンパイルされて実行されるそうです。
(この機構により、.NET対応言語ごとのパフォーマンスの差が出なくなるメリットが出てくる)

CGIと比べて、ASP.NETはスレッドで動作するため、オーバーヘッドが少ないようです。
(どちらも、処理後はインスタンスが消滅する。CGIの場合はプロセス終了)

イベントドリブンモデルを採用しているため、ユーザの操作をサーバでハンドリング可能に
なっている。(JavaScriptで互換性を考えてコードを書いていた部分をサーバ側で処理できる。)
という事から、互換性の考慮が減るということになります。
しかし、全てのイベントをサーバで処理させようとするとサーバの負荷が高くなるので、
結局、ボタンクリックとか項目選択変更などのイベントに限られている。

ポストバックという考え方が導入されている。
(Webブラウザとサーバ間のイベントのやり取りを効率的に処理する仕組み。
Ajaxと何か違うんだろうか?)
ポストバックには状態管理の簡易機能が提供されている。→これがVIEWSTATEというやつか?)

上記に加えて、昨日やっとHelloWorldを実行しました。

|

« 基礎からのASP.NETを読む(1) | トップページ | 8月4日、5日のトレーニング »

ASP.NET」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/50625/49056133

この記事へのトラックバック一覧です: 基礎からのASP.NETを読む(2):

« 基礎からのASP.NETを読む(1) | トップページ | 8月4日、5日のトレーニング »