エーエスピー‐ネット【ASPnet】
ASP.NET
ASP.NET
ASP.NETとは、Microsoftが提供している、Webアプリケーション開発のためのプラットフォームの名称である。
ASP.NETは、動的なWebページを作成するための技術であるASP(Active Server Pages)の次世代バージョンとして開発された。.NET Frameworkをプログラムの実行環境として備えているため、従来のASPに比べて大幅な機能拡張が施されている。
ASP.NETで実現された機能拡張の主な例としては、共通言語ランタイム(Common Language Runtime)に対応したことによって、.NET Frameworkに対応する全ての言語をプラットフォームの違いにかかわらず実行できるようになった点、Webプログラム開発のための多種多用なライブラリを提供している点、あるいは、Web上のユーザー操作部品とプログラムロジックを、プログラム開発の段階で分離させることができるようになった点などを挙げることができる。
参照リンク
ASP.NET Developer Center - (Microsoft)
ASP.NET
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/09/27 00:15 UTC 版)
ASP.NETは、マイクロソフトが開発・提供しているWebアプリケーションフレームワークで、動的なウェブサイトやWebアプリケーションやWebサービスの開発や運用を行う。ASP.NETはActive Server Pagesを.NET向けにしたものである。
ASP.NETのもとには、ウェブサイト・ウェブアプリケーションの作成するために3種類のフレームワークが用意されている[1]。
- ASP.NET Webフォーム
 - ASP.NET MVC
 - ASP.NET Webページ
 
このほか、Web API作成に特化したASP.NET Web API、リアルタイム処理のためのASP.NET SignalRといったフレームワークが存在する。
このほか、.NET Core上で動作するASP.NET Coreが新たに開発されている。
ASP.NET Webフォームの特徴
ASP.NETは、それまでのWebアプリケーション構築の常識であった、HTMLの知識やHTTP通信の仕組み、ブラウザとサーバー間のデータのやりとりなどを抽象化して、GUIモデルによるアプリケーション開発が行えるようになっている。ページデザインは、以前のASPと同じようにHTMLを直接記述することもできるが、Visual Studioなどの開発環境を用いることでGUIによるページデザインが行えるようになっている。また、HTTP POSTの仕組みを利用したPostBackと呼ばれる仕組みを使うことによって、イベント駆動型プログラミングを実現している。
内部の仕組みは抽象化されているが、実際にはHTMLやHTTP、JavaScriptなど従来のモデルを使用しているため、通常のWebアプリケーションと同様にWebブラウザで表示できるというメリットがある。ただしその反面、WebブラウザやHTTPの制約に考慮して開発することが必要なのは従来通りであるため、Webアプリケーションが分からないプログラマでもWebアプリケーションを開発できるようになる魔法の杖では決してない。
また、ブラウザを認識して最適なHTMLを生成するほか、実行時に前回に実行したものと比べ変更があるときにのみコンパイルをしてキャッシュしておくため、ASPと比べ処理速度が向上している。
ASPはSSIから呼び出すことができるが、ASP.NETは呼び出せない。
ASP.NETの動作
IISではASP.NETはaspnet_isapi.dllというファイルがISAPIを利用して動作している。ASP.NETの動作に関する設定の多くは、*.configファイルを利用している。事前にコンパイルされたファイルまたはDLLやコンパイルされていないファイルを指定したディレクトリに置くだけで動作する。
- ASP.NETで使用するクラスの多くは、以下の名前空間で定義されている。
 
System.Web System.Web.UI
ASP.NETで利用できる言語
Visual Studioでは、Visual BasicやC#を既定の言語として選択するようになっているが、最終的にはコンパイルされたアセンブリで動作するため、C++/CLIやJScript.NETなど.NETに対応した言語であれば様々な言語で記述することもできる。
拡張子
- aspx ファイル
 - 一般的なウェブフォームページ
 - asax ファイル
 - アプリケーションレベルのロジックとイベントハンドリングの構築
 - ascx ファイル
 - オリジナルのユーザコントロールをウェブページで利用する場合に用いる
 - ashx ファイル
 - 独自のHTTPハンドラの構築
 - asmx ファイル
 - ウェブサービスのページの構築
 - axd ファイル
 - アプリケーションレベルでのトレーシングのためのファイル
 - browser ファイル
 - Webサイトが許容するブラウザの構成を保存するファイル
 - config ファイル
 - Webアプリケーションの設定を記述するXML形式のファイル
 - cs/vb ファイル
 - コンパイル前のソースファイル。前者はC#言語で、後者はVisual Basic言語で記述される
 - master ファイル
 - ページに統一的なデザインを設定するマスターページファイル
 - sitemap ファイル
 - サイトマップの設定ファイル
 - skin ファイル
 - Webページのテーマスキンの構築
 - resx ファイル
 - ファイルの国際化(グローバリゼーション)や地域化(ローカリゼーション)する場合のリソースファイル
 
ディレクトリ構造
- App_Code
 - *.csや*.vbなどのソースファイルを配置するディレクトリ
 - App_LocalResources
 - 個々にばらばらになった地域化されたファイルを配置するディレクトリ
 - App_GlobalResources
 - たくさんのページの地域化するリソース (*.resx) を配置するディレクトリ
 - App_Themes
 - テーマファイルの配置するディレクトリ
 - App_Browsers
 - サイトの仕様に沿ったブラウザの定義を配置する *.browser ファイルを配置するディレクトリ
 - bin
 - ASP.NETで利用するバイナリファイルの配置に用いるディレクトリ
 
ASP.NETの文法
ASP.NETでは普通、コード表示ブロック (<% %>)をbody要素内で使わない。 (コード表示ブロックを使用して、インラインコードを埋め込むこともできる。) 
例1: Hello, Worldの文字列を出力させる(例題の言語はVisual Basic)。
 <%@ Page Language="VB" %>
 <script runat="server">
     Private Sub Page_Load()
         Label1.Text = "Hello, World"
     End Sub
 </script>
 <html>
  <body>
   <form runat="server">
    <asp:Label id="Label1" />
   </form>
  </body>
 </html>
  例2: コードを別のファイルに記述する。
Default.aspx
 <%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="_Default" %>
 <html>
  <body>
   <form runat="server">
    <asp:Label id="Label1" />
   </form>
  </body>
 </html>
  Default.aspx.vb
 Partial Class _Default
     Inherits System.Web.UI.Page
     Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
         Label1.Text = "Hello, World"
     End Sub
 End Class
  開発ツール
- Microsoft Expression Web
 - Microsoft Visual Studio
 - Microsoft Visual Web Developer
 - Microsoft SharePoint Designer
 - Adobe Dreamweaver MX
 - ASP.NET Web Matrix
 - MonoDevelop
 - SharpDevelop
 - Delphi 2006
 
展開プラットフォーム
- Internet Information Services
 - XSP (Webサーバ)
 - Apache HTTP Server - (mod_mono を利用、暗黙的にXSPがバックグラウンドで動作する)
 
フレームワーク
- Castle Monorail
 - Spring.NET
 - Skaffold.NET
 
関連項目
- .NET Framework
 - ASP.NET AJAX
 - ASP.NET MVC Framework
 
脚注
- ^ “ASP.NET の概要”. Microsoft Docs (2019年8月10日). 2019年10月5日閲覧。 “ASP.NET は、web アプリケーションを作成するための3つのフレームワークを提供します。Web フォーム、ASP.NET MVC、および ASP.NET Web ページ。”
 
外部リンク
固有名詞の分類
- ASPnetのページへのリンク