Share via


ASP.NET の概要

更新 : 2007 年 11 月

ASP.NET は、開発者がエンタープライズ クラスの Web アプリケーションを最小限のコーディングで作成するために必要なサービスを含む、統一化された Web 開発モデルです。ASP.NET は .NET Framework の一部となっているため、ASP.NET アプリケーションをコーディングする際に .NET Framework 内のクラスにアクセスできます。アプリケーションのコードは、Microsoft Visual Basic, C#、JScript .NET、J# など、共通言語ランタイム (CLR: Common Language Runtime) と互換性のある任意の言語を使用して記述できます。これらの言語により、共通言語ランタイム、タイプ セーフ、継承などを利用できる ASP.NET アプリケーションを開発できます。

ASP.NET の構成は次のとおりです。

  • ページとコントロールのフレームワーク

  • ASP.NET コンパイラ

  • セキュリティ インフラストラクチャ

  • 状態管理機能

  • アプリケーション構成

  • 状態監視機能とパフォーマンス監視機能

  • デバッグのサポート

  • XML Web サービス フレームワーク

  • 拡張性のあるホスト環境およびアプリケーション有効期間の管理

  • 拡張性のあるデザイナ環境

ページとコントロールのフレームワーク

ASP.NET のページとコントロールのフレームワークは、ASP.NET Web ページの動的な生成および表示のために Web サーバー上で動作するプログラミング フレームワークです。ASP.NET Web ページは、任意のブラウザまたはクライアント デバイスから要求され、ASP.NET が、要求元のブラウザにマークアップ (HTML など) を表示します。ASP.NET は要求を行ったブラウザに応じて適切なマークアップを表示するので、通常、複数のブラウザに対して同じページを使用できます。ただし、Microsoft Internet Explorer 6 などの特定のブラウザで動作するように ASP.NET Web ページをデザインして、特定のブラウザの機能を利用することもできます。ASP.NET は、携帯電話、ハンドヘルド コンピュータ、PDA (Personal Digital Assistant) などの Web 対応デバイスに対してモバイル コントロールをサポートしています。

ASP.NET Web ページは、完全にオブジェクト指向です。ASP.NET Web ページ内では、プロパティ、メソッド、およびイベントと共に HTML 要素を使用できます。ASP.NET Page Framework は、サーバー上で動作するコード内でクライアント イベントに応答するための統一されたモデルを提供することにより、Web ベースのアプリケーションに特有なクライアントとサーバーの分離にかかわる実装の詳細を不要にしています。また、ページ処理の有効期間において、ページとページ上のコントロールの状態を自動的に保持します。詳細については、「ASP.NET Web ページの概要」を参照してください。

ASP.NET のページとコントロールのフレームワークを使用すると、一般的な UI 機能を、使いやすく再利用可能なコントロールにカプセル化できます。コントロールは一度記述すると複数のページで使用でき、レンダリング時には配置された ASP.NET Web ページに統合されます。

また、ASP.NET のページとコントロールのフレームワークは、テーマとスキンを使用して Web サイト全体の外観と操作性を制御するための機能も備えています。テーマとスキンを定義して、ページ レベルまたはコントロール レベルで適用できます。詳細については、「ASP.NET のテーマとスキンの概要」を参照してください。

テーマの他に、アプリケーション内で一貫性のあるページ レイアウトを作成するためのマスタ ページも定義できます。1 つのマスタ ページに、アプリケーションのすべてのページ (またはページのグループ) のレイアウトと基本動作を定義します。その後、表示するページ固有のコンテンツが含まれる個々のコンテンツ ページを作成します。ユーザーがコンテンツ ページを要求すると、コンテンツ ページはマスタ ページにマージされます。その結果、マスタ ページのレイアウトとコンテンツ ページの内容を組み合わせた出力が生成されます。詳細については、「ASP.NET マスター ページの概要」を参照してください。

ASP.NET コンパイラ

すべての ASP.NET コードはコンパイルされます。それにより、厳密な型指定、パフォーマンスの最適化、事前バインディングなどの機能を利用できます。コードをコンパイルした後で、共通言語ランタイムが ASP.NET コードをさらにネイティブ コードにコンパイルするため、パフォーマンスが向上します。

ASP.NET には、ページやコントロールなどすべてのアプリケーション コンポーネントをアセンブリにコンパイルするコンパイラが含まれます。ASP.NET のホスト環境では、このアセンブリを使用して、ユーザーの要求に対するサービスを提供できます。詳細については、「ASP.NET コンパイルの概要」を参照してください。

セキュリティ インフラストラクチャ

ASP.NET は、.NET のセキュリティ機能に加えて、ユーザー アクセスを認証および承認し、その他のセキュリティ関連タスクを実行するための高度なセキュリティ インフラストラクチャを提供します。IIS から提供されている Windows 認証を使用してユーザーを認証したり、ASP.NET フォーム認証と ASP.NET メンバシップを使用して独自のユーザー データベースを作成することにより、認証を管理したりできます。また、Windows グループ、または ASP.NET ロールを使用する独自のカスタム ロール データベースを使用して、Web アプリケーションの機能と情報に対する承認を管理できます。これらのスキームは、アプリケーションでの必要性に応じて簡単に削除、追加、または置換できます。詳細については、次のトピックを参照してください。

ASP.NET は常に、特定の Windows ID で実行するので、NTFS アクセス制御リスト (ACL: Access Control List) などの Windows 機能やデータベース アクセス許可を使用してアプリケーションをセキュリティで保護できます。ASP.NET の ID の詳細については、「ASP.NET プロセス ID の構成」および「ASP.NET の偽装」を参照してください。

状態管理機能

ASP.NET には、顧客情報やショッピング カートの内容など、複数のページ要求にまたがる情報を格納できる直感的な状態管理機能が用意されています。アプリケーション固有の情報、セッション固有の情報、ページ固有の情報、ユーザー固有の情報、および開発者が定義した情報を保存して管理できます。このような情報は、ページ上のコントロールに依存しないようにできます。

ASP.NET には分散状態機能が備わっています。この機能により、1 台または複数のコンピュータ上にある同じアプリケーションの複数のインスタンス間で状態情報を管理できます。詳細については、「ASP.NET の状態管理の概要」を参照してください。

ASP.NET の構成

ASP.NET アプリケーションは、Web サーバー、Web サイト、または個々のアプリケーションの構成設定を定義できる構成システムを使用します。構成は ASP.NET アプリケーションを配布するときに設定できます。また、いつでも構成設定を追加したり変更したりできます。Web アプリケーションや Web サーバーが動作している場合でも、それらへの影響は最小限になります。ASP.NET の構成設定は、XML ベースのファイルに格納されます。これらの XML ファイルは ASCII テキスト ファイルなので、Web アプリケーションの構成の変更は簡単です。要件に合うように、構成方法を拡張できます。詳細については、「ASP.NET 構成の概要」を参照してください。

状態監視機能とパフォーマンス監視機能

ASP.NET には、ASP.NET アプリケーションの状態とパフォーマンスを監視する機能が備わっています。ASP.NET Health Monitoring により、アプリケーションの状態やエラー状況に関する情報を提供するキー イベントの報告が有効になります。これらのイベントは診断特性と監視特性の組み合わせを示しますが、ログの内容と記録方法については非常に柔軟性があります。詳細については、「ASP.NET Health Monitoring の概要」を参照してください。

ASP.NET は、アプリケーションからアクセスできる 2 つのグループのパフォーマンス カウンタをサポートしています。

  • ASP.NET システム パフォーマンス カウンタ グループ

  • ASP.NET アプリケーション パフォーマンス カウンタ グループ

詳細については、「ASP.NET アプリケーションのパフォーマンスの監視」を参照してください。

デバッグのサポート

ASP.NET では、ランタイム デバッグ インフラストラクチャを採用することにより、言語間およびコンピュータ間のデバッグがサポートされています。共通言語ランタイムによってサポートされているすべての言語、およびスクリプト言語に加えて、マネージ オブジェクトとアンマネージ オブジェクトの両方をデバッグできます。詳細については、「[ASP.NET デバッグ]」を参照してください。

また、ASP.NET ページフレームワークには、ASP.NET Web ページにインストルメンテーション メッセージを挿入できるトレース モードが用意されています。詳細については、「ASP.NET トレースの新機能」を参照してください。

XML Web サービス フレームワーク

ASP.NET は、XML Web サービスをサポートしています。XML Web サービスとは、アプリケーションが HTTP や XML メッセージングなどの規格を使用してファイアウォール間で情報を交換できるようにするためのビジネス機能を含むコンポーネントのことです。XML Web サービスは、特定のコンポーネント テクノロジやオブジェクト呼び出し規約には拘束されません。そのため、プログラムがどの言語で記述されているか、どのコンポーネント モデルを使用しているか、どのオペレーティング システムで実行されているかに関係なく、あらゆるプログラムから XML Web サービスにアクセスできます。詳細については、「ASP.NET を使用した XML Web サービス」を参照してください。

拡張性のあるホスト環境およびアプリケーション有効期間の管理

ASP.NET は、ユーザーがアプリケーション内のリソース (ページなど) に最初にアクセスしてからアプリケーションがシャットダウンされるの有効期間を制御する、拡張性のあるホスト環境を提供します。ASP.NET はアプリケーション ホストとして Web サーバー (IIS) に依存しますが、ASP.NET 自身が多くのホスト機能を提供します。ASP.NET のアーキテクチャにより、アプリケーションのイベントに応答したり、カスタム HTTP ハンドラやカスタム HTTP モジュールを作成したりできます。詳細については、「IIS 5.0 および 6.0 における ASP.NET アプリケーションのライフ サイクルの概要」を参照してください。

拡張性のあるデザイナ環境

ASP.NET は、Visual Studio などのビジュアル デザイン ツールで使用できる、Web サーバー コントロール用のデザイナを作成するための拡張性を備えています。デザイナを使用すると、デザイン時のユーザー インターフェイスをコントロールに作成でき、開発者はビジュアル デザイン ツールでコントロールのプロパティおよび内容を構成できます。詳細については、「ASP.NET コントロール デザイナの概要」を参照してください。

参照

概念

IIS 5.0 および 6.0 における ASP.NET アプリケーションのライフ サイクルの概要

ASP.NET Web ページの概要