Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio 2005による Web アプリケーション入門

Similar presentations


Presentation on theme: "Visual Studio 2005による Web アプリケーション入門"— Presentation transcript:

1 Visual Studio 2005による Web アプリケーション入門
開発者カテゴリ Visual Studio 2005による Web アプリケーション入門 ◆NOTES◆ PowerPoint のノート部分には、講師がセミナーを進める上での留意点を記載しています。 また、ノート部分の「◆90分ダイジェスト vs 半日コース」という欄には、今回の 90分ダイジェストコースと、このコースの元になった半日コースとの、おおよその差分が記述してあります。 この差分記述は、90分コースでのだいたいの深さの目安として掲載したものであって、実際の講習では、厳密にこの記載に基づいて、講習範囲を限定する必要はないでしょう。もし、90分コースを開いた際に、時間が余った場合は、この差分の部分を追加説明するなど、補足説明の指針にすればよいと思います。

2 アジェンダ Webアプリケーション開発:ASP.NET の基礎 サーバー コントロール セッション管理
 アジェンダ Webアプリケーション開発:ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

3 ASP.NET ASP.NETとは ? Webアプリケーション向けアーキテクチャ
Web フォーム、XML Web サービス サーバーサイドアプリケーション IIS(Internet Information Service) + .NET Framework 実行時は、JITコンパイルによってネイティブコードとして実行 従来の ASPのバージョンアップ以上のもの 開発生産性の高いプログラミングモデル C#やVB .NETなど、オブジェクト指向プログラミング言語が使用可能 HTTPやHTML、XMLなどのネットワーク上の実装を意識させない IIS .NET Framework Windows 2000 ~

4 HTML、ASP.NET 固有タグ VB.NET、C# など
 Web フォーム Web フォームとは ? 拡張子 .aspx のファイル サーバーで実行され、ブラウザに対して HTML ベースのユーザー インターフェイスを提供する ブラウザから HTTP を使って、A.aspx を要求すると、Web サーバー (IIS + ASP.NET ランタイム) は A.aspx 中に記述された処理を実行する 処理結果として、HTML をクライアントに返信する A.aspx HTML、ASP.NET 固有タグ VB.NET、C# など 実行 ブラウザ HTML IIS アプリケーション (仮想ディレクトリ)

5 Visual Studio 2005 による開発 1/4 ASP.NET Web アプリケーション用のテンプレート

6 Visual Studio 2005 による開発 2/4 + Web サイト ソリューションを作成
IIS上の仮想ディレクトリとして作成することも可能 デバッグ、実行に IIS 環境を直接使用 任意のファイル システム上に作成 デバッグ、実行に ASP.NET 開発サーバーを使用 ソリューションを作成 作業の開始はソリューション ファイルを開き、終了はソリューションを閉じる Default.aspx Default.aspx.vb Web.config ... WebSite1.sln + ソリューション ファイル Web サイト用のフォルダ

7 Visual Studio 2005 による開発 3/4 ソリューション エクスプローラ Web フォーム デザイナ プロパティ ウィンドウ
① コードエディタを表示 ② デザイナを表示 ソリューション エクスプローラ Web フォーム デザイナ ③ デザインビュー ④ ソース ビュー プロパティ ウィンドウ

8 Web フォームのファイル構成 ユーザー インターフェイスと制御ロジックの分離 Page1.aspx Page1.aspx.vb
Page Language="VB" CodeFile="Page1.aspx.vb" Inherits="Page1" %> <html xmlns=" > <body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="OK" /><br /> ... </form> </body> </html> Page1.aspx Partial Class Page1 Inherits System.Web.UI.Page Protected Sub Button1_Click( ... ) Handles Button1.Click Label1.Text = TextBox1.Text + " さん、こんにちは" End Sub End Class Page1.aspx.vb

9 アジェンダ ASP.NET の基礎 サーバー コントロール セッション管理
 アジェンダ ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

10 ASP.NET サーバー コントロール ASP.NETサーバーコントロールとは ? サーバー上で実行される Webフォームの構成部品
画面を構成する HTMLをカプセル化 適切な HTMLを自動的に出力 ほとんど HTMLを意識せず、コード上はオブジェクトとして操作できる サーバイベント処理(後述) ビューステートの自動的な管理(後述) Webサーバー Page ... %> <asp:ListBox id="ListBox1" runat="server"></asp:ListBox> (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、サーバーコントロールに Web サーバーコントロールと HTML サーバーコントロールの二種類ある点に言及しています。 実行 HTML ブラウザ ListBox1.Items.Add("Tokyo"); ListBox1.Items.Add("Nagoya"); ListBox1.Items.Add("Osaka"); <select name="ListBox1" ...> <option value="~">~</option> <option value="~">~</option> ...

11 サーバーイベント処理 サーバーイベント処理とは ? ブラウザで起きたイベントはサーバーサイドで処理 ポストバック イベントとも呼ばれる
 サーバーイベント処理 サーバーイベント処理とは ? ブラウザで起きたイベントはサーバーサイドで処理 ブラウザ上は HTMLベースの Webページ イベントハンドラはサーバー上のコードに実装 ポストバック イベントとも呼ばれる サーバーへのイベント通知は、同一ページへのポスト(HTTP-POST) ブラウザ Webサーバー URL欄で指定 Page ... %> <asp:Button id="Button1" runat="server"></asp:Button> (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、イベントを3種類に分類し(アクション関連、更新関連、マウス移動関連)、ASP.NET でのそれぞれの扱い方について触れています。 ポストバック private void Button1_Click(...) { //OKボタンが押されたら実行 } 実行 HTML

12 <input type="hidden" name="__VIEWSTATE" value= ~
 ビューステートとは ビューステートとは ? サーバー コントロールの状態を自動的に管理する仕組み 隠しフィールドを利用してブラウザ上の HTML内に状態を保持 自動的にラウンドトリップする プログラマが任意のデータを格納できる ステート Dim n As Integer n = CInt(Label1.Text) n = n + 1 Label1.Text = CStr(n) (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、ビューステートに独自のデータを退避するコード例も紹介しています。 ステート Webサーバー ラベル表示、色、フォントサイズ、etc ... <input type="hidden" name="__VIEWSTATE" value= ~

13 アジェンダ Webアプリケーション開発:ASP.NET の基礎 サーバー コントロール セッション管理
 アジェンダ Webアプリケーション開発:ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

14 セッション セッションとは? ASP.NETのおけるセッション 一人のユーザーがサーバーにアクセスするときの連続的な操作の管理単位
 セッション セッションとは? 一人のユーザーがサーバーにアクセスするときの連続的な操作の管理単位 ASP.NETのおけるセッション Cookie内、またはクエリ文字列に、一意のセッションIDを送り、同一ユーザーセッションを識別 Pageクラスの Sessionプロパティでセッション単位の状態管理が可能 セッションID Cookie (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、セッションの情報の退避方法のオプション (インプロセス、ステートサービス、SQL Server)があることに言及しています。 同一セッションにおける HTTP要求であることを ASP.NET は認識する Webサーバー セッションID Cookie

15 アジェンダ Webアプリケーション開発:ASP.NET の基礎 サーバー コントロール セッション管理
 アジェンダ Webアプリケーション開発:ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

16 ASP.NETセキュリティの位置付け ASP.NETセキュリティの位置付け ブラウザ IIS ASP.NET .NET Framework
認証(匿名、基本、Windows、etc...) IPなどの制限、ポート番号、SSL、etc... Webサーバー IIS ASP.NETにアクセスるすには、 IISを通過する必要がある ISAPI Dll 認証(Windows、Passport、フォーム) 独自の承認(アクセス制御) ASP.NET コード アクセス セキュリティ ロール ベース セキュリティ .NET Framework 共通言語ランタイム

17 フォーム認証 (続き) ~ VS2005 Login コントロールの特徴 フォーム認証のログインで使用する標準的な UI 認証ロジックも実装
Visual Studio 2005 ではドラッグ アンド ドロップして貼り付けるだけ 認証ロジックも実装 ユーザー検証やログインに関連する処理のコードは不要 カスタマイズ可能な UI と振る舞い Page Theme="BasicBlue" %> <html> <body> <form runat="server"> <asp:Login RunAt="server" /> </form> </body> </html> (Instructor's notes) ◆90分ダイジェスト vs 半日コース ここでは、ASP.NET の代表的な認証方法であるフォーム認証について、それが簡単に実装できる点にふれます。 半日コースでは、Windows 認証とフォーム認証の違い、また、.NET Framework 1.x でのフォーム認証の実装方法などを紹介しています。

18  フォーム認証 (続き) ~ VS2005 Web サイト管理ツールによる管理 認証モードの指定 ユーザー情報の管理、etc...

19 URL承認の構成 <authorization>要素 認証手続きよりも後のセキュリティ評価過程
<configuration> <system.web> <authorization> <allow users="taro, jiro, redmond\goro" /> <allow roles="managers" /> <deny users="*" /> </authorization> </system.web> <location path="staff"> <!--特定フォルダへの保護 --> <allow users="admin" /> </location> </configuration>

20 Next Step !!! ASP.NET 2.0 の新機能 「データ ソース コントロール」による新しいデータ連結
「テーマ」と「スキン」による新しいユーザー インターフェイス 「Login コントロール」等、関連する新しいコントロール 「メンバシップ サービス」による新しいユーザー管理 「ロール管理サービス」による新しいロール管理 「プロファイル」による新しい個人環境設定の管理 「プロバイダ モデル」による保存用ストレージの拡張 「サイト ナビゲーション」機能によるメニューの新しい構築方法 「Web パーツ」用フレームワークの標準装備 「クロス ページ ポスティング」 各コントロールの機能強化 etc... (Instructor's notes) .NET Framework 2.0 では、特に ASP.NET 2.0 に新機能が多く、これらは今後何を習得したらよいかの目安として挙げておきます。(半日コースでも、これらの詳細は説明していません。)


Download ppt "Visual Studio 2005による Web アプリケーション入門"

Similar presentations


Ads by Google