Silverlight をインストールするには、ここをクリックします*
Japan変更|すべてのMicrosoft のサイト
MSDN
|MSDN ライブラリ|デベロッパー センター|ダウンロード情報|開発ツール製品|コミュニティ|ご意見・ご要望|サイトマップ
MSDN Home > MSDN アカデミック アライアンス > 第 4 回:Visual C# による ASP.NET 入門

第 4 回:Visual C# による ASP.NET 入門

〜 Visual C# による .NET Framework プログラミング入門 〜

4.1 はじめに

2000 年 6 月に Microsoft 社から 「Microsoft .NET」 が発表されました。「Microsoft .NET」 は、Windows などの OS だけでなく、Microsoft が持つパッケージソフトやアプリケーションからインターネットサービスに至るまでを統合する環境です。Visual C# は、Web アプリケーションを開発するための様々な機能を豊富に提供しています。その機能の一つとして ASP.NET が挙げられます。ASP.NET とは、Visual Studio .NET が提供する Web アプリケーションを作成・運用・実行するための環境です。ASP.NET は、Web アプリケーションの開発において、高い開発効率とハイパフォーマンスを実現します。そこで、本章では、Web アプリケーション作成に必要不可欠である ASP.NET について解説します。本章の前半では、従来の ASP と ASP.NET との違いおよび ASP.NET の特徴と利点を紹介します。また、本章の後半では、サンプルプログラムを通して、Visual C# による ASP.NET アプリケーションの作成手順を紹介します。

4.2 ASP とは

4.2.1 ASP の概要

ASP (Active Server Pages) とは、HTML 内に組み込んだスクリプトをサーバ上で動作させる Web 技術です。ASP では、HTML 内に独自のタグと Visual Basic Script 等のスクリプト言語で記述されたプログラムを埋め込みます。ASP を動作させるためには、Windows NT や Windows 2000 等のサーバ OS 上で動作する Web サーバ機能が必要となります。通常、Windows NT 系の OS には、IIS (Internet Information Services) という Web サーバが付属されており、ASP を動作させるためには、IIS を利用します。

(1) ASP の特徴

ASP は、クライアントからの要求に応じて動的に HTML を作成します。ASP の特徴は、Visual Basic Script 等のスクリプト言語を使用して実装すること、Linux 環境や Windows 環境など動作環境を選ばず使用可能なことが挙げられます。また、ASP は、コンポーネントとして COM (Component Object Model) を利用することができます。COM とは、Microsoft 社が開発したオブジェクト間の機能の通信を行う規約です。COM は、オブジェクト同士が個々に持つ機能 (インターフェース) を介して互いの機能を利用します。その他にも、ASP は、データベースと連携する機能が用意されており、容易にデータベースにアクセスすることができます。ただし、ASP からデータベースを利用するには、SQL Server や MSDE などのデータベースエンジンが必要となります。ASP の特徴を図 1 に示します。

ASP の特徴

図 1: ASP の特徴

(2) ASP の活用例

ASP は、データベースと連携した Web サイトの構築ができます。ASPを利用することにより、HTML だけでは、実現し得なかった高度な Web サイトが構築できます。ASP の利用例を表 1 に示します。

表 1: ASP の利用例

ホームページ検索メールの送受信チャット
ショッピングカートバナー広告配信掲示板
オークションアンケートネットバンキング

このようにASP は、様々な場面で利用可能です。そのため、ASP を利用して開発された Web サイトは非常に多いです。また、ASP を利用することにより、表1に示すようなコンテンツを含んだ Web サイトが容易に構築できます。

4.3 ASP.NET

4.3.1 ASP.NET とは

ASP.NET とは、Visual Studio .NET が提供する Web アプリケーションや XML Web サービスを効率良く開発・運用・実行するための環境です。ASP.NET は、従来の ASP と比較し、はるかに利用しやすいプログラミングモデルを提供しています。また、ASP.NET を利用した Web アプリケーションの作成には、Visual C# .NET や Visual Basic .NET などの普段私たちがよく利用するプログラミング言語を使用できます。ASP.NET の利用により、今まで頭を悩ませていたサーバサイドの概念などをほとんど気にせず、デスクトップアプリケーションのように Web アプリケーションの開発ができるようになりました。

4.3.2 ASP.NET の特徴および利点

ASP.NET の最大の特徴は、前項でも解説したように、Visual C# .NET や Visual Basic .NET などのプログラミング言語を使用できることです。そのため、Visual C# や Visual Basic .NET などの言語を理解している人は、容易に ASP.NET を利用できます。また、ASP.NET では、ユーザインタフェースとコードを分離して別のファイルに保存できます。そのため、ASP.NET では、ユーザインタフェースのデザイン部分とコードのロジック部分を独立して考えることもでき、開発効率が向上し、より高度な Web サイトの構築ができます。

次に、ASP.NET の特徴として、パフォーマンスの向上が挙げられます。Microsoft 社のテストによると、ASP.NET アプリケーションは、従来の ASP アプリケーションに比べて、クライアントからの要求に対して、1 秒当たり 2〜3 倍の処理を行うことができます。従来の ASP と ASP.NET の違いを図 2 に示します。

従来の ASP と ASP.NET の違い

図 2:従来の ASP と ASP.NET の違い

4.4 Visual C# と Web アプリケーション

4.4.1 Visual C# と ASP.NET

ASP.NET では、デスクトップアプリケーションを作成するような感覚で Web アプリケーションを作成できます。また、Visual C# .NET などの開発言語は、ユーザにインタフェースを構築するために様々なコントロールを提供します。そのため、ASP.NET では、ユーザインタフェースの作成が容易になりました。また、Visual C# .NET を利用することで、ユーザインタフェースのデザイン部分との切り分けができるようになり、開発の生産性が向上します。

4.4.2 Windows フォームと Web フォーム

.NET Framework には、Windows フォームと Web フォームの 2 つのユーザインタフェース作成するためのコントロールが用意されています。Windows フォームは、Windows アプリケーションのユーザインタフェースを作成する時に使用します。また、Web フォームは、ASP.NET を利用し、Web アプリケーションのユーザインタフェースを作成する時に使用します。従来の ASP では、ユーザインタフェース部分は、HTML などのマークアップ言語を使用して作成しましたが、ASP.NET では、Visual Studio .NET に用意されている様々なコントロールをマウスによるドラッグ・アンド・ドロップの操作のみで作成できます。Windows フォームとWeb フォームが極似していることは、これら 2 つのプロジェクトを見れば一目瞭然です。また、Windows フォームと Web フォームは、見た目だけが類似しているのではなく、利用方法も類似しています。Windows フォームを図 3、Web フォームを図 4 に示します。

Windows フォーム

図 3:Windows フォーム

Web フォーム

図 4:Web フォーム

4.5 Visual C# による ASP.NET アプリケーションの作成

本節では、Visual C# による簡単な ASP.NET アプリケーションを作成します。本節の前半では、Visual C# による ASP.NET アプリケーションの作成手順について解説します。また、後半では、Visual C# を利用した ASP.NET の初歩的なプログラムを作成します。今回作成するプログラムは、メール送信プログラムです。

4.5.1 ASP.NET アプリケーションの新規作成

ASP.NET アプリケーションの作成手順を紹介します。ASP.NET アプリケーションの作成には、Windows アプリケーションの作成と同様、最初にプロジェクトの新規作成を行う必要があります。プロジェクトの新規作成を行うには、まず、メニューから【ファイル】→【新規作成】→【プロジェクト】を選択します。次に、【新しいプロジェクト】ダイアログボックスの左ペインの【プロジェクトの種類】から【Visual C#プロジェクト】を選択します。そして、右ペインの【テンプレート】から【ASP.NET Web アプリケーション】を選択します。最後に【OK】ボタンをクリックします。【新しいプロジェクトの作成】ダイアログボックスを図 5 に示します。

【新しいプロジェクト】ダイアログボックス

図 5:【新しいプロジェクト】ダイアログボックス

上記の操作のみで Visual C# による ASP.NET Web アプリケーションの作成するための準備ができます。

4.5.2 Web 名前空間の利用

.NET のクラスライブラリには、Web アプリケーションを作成するためのクラスが用意されています。クラスライブラリに用意されたクラスを利用することにより、高度な機能を持った Web アプリケーションを簡単に作成することができます。

これらのクラスを利用するには、Web 名前空間を参照する必要があります。Web 名前空間とは、Web アプリケーションを容易に作成するために Visual C# から提供されているクラス群のことです。Web 名前空間を参照するための構文を次に示します

using System.Web;

メール送信プログラムを作成するには、Web 名前空間の中にあるMail名前空間を参照する必要があります。Mail名前空間を参照するための構文を次に示します。

using System.Web.Mail;

4.5.3 Web フォームコントロールの利用

Web フォームは、第 4.4.2 項でも解説したとおり、様々な Web フォームコントロールを利用することで容易にユーザインタフェースを作成することができます。Web フォームコントロールの利用方法は、Windows フォームコントロールとほぼ同様です。そのため、 Windows アプリケーションを作成する感覚で容易に Web アプリケーションの作成が可能となります。Web フォームコントロールおよび Windows フォームコントロールを図 6 に示します。


Web フォームコントロール
        
Windows フォームコントロール

図 6:各フォームコントロール

本プログラムには、Button コントロール、TextBox コントロール×4 と Label コントロール×4 を使用します。Button コントロールは、メール送信を実行するために使用します。TextBox コントロールは、送信者、送信先、件名、本文の各情報を入力および取得するために使用します。また、Label コントロールは、各項目の情報の説明のために使用します。各コントロールのプロパティの設定を表 2 に示します。

表 2:プロパティの設定

オブジェクト名プロパティ設定値
Label1Text送信者
Label2Text受信者
Label3Text件名
Label4Text本文
TextModeMultiLine
Button1Text送信

コントロールの配置例を図 7 に示します。

コントロールの配置例

図 7:コントロールの配置例

4.5.4 コードの記述

Button コントロールをクリックして、Button1_Click イベントハンドラを追加します。本プログラムのコード例を次に示します。

private void Button1_Click(object sender, System.EventArgs e)
{
	MailMessage msg = new MailMessage();          // メールオブジェクトの作成
	msg.From = TextBox1.Text;                     // 送信者情報の取得
	msg.To = TextBox2.Text;                       // 送信先情報の取得
	msg.Subject = TextBox3.Text;                  // 件名情報の取得
msg.Body = TextBox4.Text;                     // 本文情報の取得

SmtpMail.SmtpServer = "mail.×××.co.jp";    // メールサーバの指定(※注)
SmtpMail.Send(msg);		       // メールの送信
}

(※注) メールサーバは、使用しているメールアカウントによって異なります。各自が使用しているメールサーバを MailServer プロパティに指定してください。

4.5.5 実行結果

本プログラムの実行結果を図 8 に示します。

実行画面

図 8:実行画面

本プログラムを実行することにより、ブラウザが起動します。このとき、まず、ブラウザは、HTTP-POST として IIS に要求を送ります。次に、IIS は、aspx ファイルを読み込み、Page オブジェクトを動的に生成し、サーバ上でプログラムを実行します。その後、IIS は、要求に応じた処理を行い、HTML ファイルを動的に作成してブラウザに返します。この一連の流れにより、図 8 に示すような画面が表示されます.プログラムの実行の流れの概念を図9に示します。

ASP.NET プロジェクトの実行の流れ

図 9:ASP.NET プロジェクトの実行の流れ

本プログラムは、送信者、受信者、件名および本文を入力し、【送信】ボタンをクリックすることでメールが送信されます。実際に本プログラムにより、送信されたメールの受信画面を図 10 に示します。

メール受信画面

図 10:メール受信画面

また、ASP.NET は、従来、開発者が手動で作成していた HTML ソースコードを自動的に作成します。このように今まで作成が困難であった ASP による Web アプリケーションは、ASP.NET を利用することで、容易に作成することができます。

4.6 まとめ

本章では、ASP および ASP.NET の概念を解説すると同時に、Visual C# による ASP.NET アプリケーションの作成手順を紹介しました。ASP.NET は、従来の ASP では成し得なかったパフォーマンスを提供すると同時に、デスクトップアプリケーションと同様の手順で作成できます。

本章で解説したように、ASP.NET は高度な Web アプリケーションを容易に作成できるため、様々なシステム開発や研究に利用できます。例えば、医療分野では、他の医療機関と情報を共有できるように医療用画像を全てサーバで管理し、これらの画像情報をブラウザ上で、検索および閲覧を可能とする研究があります。ASP.NET は、この研究において、画像の検索といったプログラムを作成する場合できます。また、電子商取引の分野でも ASP.NET は利用できます。例えば、オンラインショッピングにおいて顧客管理をサーバで行い、クレジットカードの電子決済などに利用できます。この他にも、ASP.NET は、教育、地理学など様々な分野の研究に利用することができます。

ASP.NET は .NET Framework が提供する ADO.NET というデータベースアクセスの技術や XML などの Web 技術と親和性が高いことも大きな特徴です。ADO.NET については最終章で紹介します。また、ASP.NET のセキュリティは、独自の認証方法を行うことで高レベルのセキュリティを保つことができます。これらの他に ASP.NET は、Visual Basic .NET や VisualC # .NET などで作成したコンポーネントを利用することができます。このように ASP.NET は、Web アプリケーションを作成する上で、開発効率が飛躍的に向上します。そのため、本章で解説した ASP.NET は、これからの研究や Web アプリケーションの開発の場面で幅広く利用できます。


著者紹介

田中 成典 (たなか しげのり)

1986年関西大学工学部土木工学科卒業
1988年関西大学大学院工学研究科 土木工学専攻博士課程前期課程修了
1996年博士 (工学) 授与,関西大学
1997年関西大学総合情報学部助教授 (現在に至る)
主な著書:やさしいCのはじめかた,オーム社,1993年
 建設技術者のための知識情報処理の実践,関西大学出版部,1999年
 DirectX8,工学社,2001年
 ステップアップXML,工学社,2002年
 Linuxアプリケーション入門,森北出版,2002年    ほか

中山 浩太郎 (なかやま こうたろう)

2001年3月関西大学総合情報学部卒業
2001年4月関西大学大学院総合情報学研究科入学 (現在に至る)
2002年4月同志社女子大学非常勤講師 (現在に至る)
主な著書:Web工房シリーズ Perlの達人,森北出版,1999年
 DirectX8,工学社,2001年
 Linuxアプリケーション入門,森北出版,2002年    ほか

石井 健一 (いしい けんいち)

1999年4月関西大学総合情報学部総合情報学科入学 (現在に至る)
主な著書:ステップアップXML活用法,工学社,2002年

野中 一希 (のなか かずき)

1999年4月関西大学総合情報学部総合情報学科入学 (現在に至る)
2002年1月株式会社関西総合情報研究所入社 (現在に至る)

中村 健二 (なかむら けんじ)

2000年4月関西大学総合情報学部総合情報学科入学 (現在に至る)
2002年4月株式会社関西総合情報研究所入社 (現在に至る)


Microsoft