ASPNETとは何? わかりやすく解説 Weblio辞書 (original) (raw)
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" %> <asp:Label id="Label1" />
例2: コードを別のファイルに記述する。
Default.aspx
<%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="_Default" %> <asp:Label id="Label1" />
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 ページ。”
外部リンク
- 公式ウェブサイト
- ASP.NET のドキュメント
- Microsoft Web 開発 ガイドライン ~ ASP.NET プログラミング エッセンシャル ~
- CodePlex - ASP.NET (英語)
- ASP.NET MVC 2 サンプル ソースコード
| 表 話 編 歴 .NET | |
|---|---|
| アーキテクチャ | 共通言語基盤 アセンブリ メタデータ マネージコード 基本クラスライブラリ .NET Standard 仮想実行システム Roslyn Native AOT |
| 共通言語基盤 | 共通言語ランタイム 共通型システム 共通中間言語 動的言語ランタイム |
| 言語 | C# Visual Basic .NET F# PowerShell C++/CLI (マネージ拡張) †J# JScript .NET IronPython IronRuby Nemerle Boo PiechPie(英語版) / †Phalanger †Cω †Spec# |
| パッケージマネージャ | NuGet myget ProGet |
| 関連技術 | Azure MAUI(英語版) †Xamarin Blazor Aspire Uno Platform(英語版) †UWP Avalonia UI(英語版) WPF WCF WF WCS Windows Forms ASP.NET ADO.NET ASP.NET MVC Framework Entity Framework ClickOnce XAML †Silverlight LINQ †.NET Remoting MSBuild XSP ML.NET(英語版) Windows UI Library Windows App SDK(英語版) |
| その他のCLI実装 | †.NET Core .NET Framework Mono シェアードソースCLI Portable.NET .NET nanoFramework .NET Micro Framework .NET Compact Framework †Microsoft XNA |
| 組織 | .NET Foundation Microsoft Xamarin |
| 開発環境 | Visual Studio Visual Studio Code JetBrains Rider(英語版) MonoDevelop / Xamarin Studio SharpDevelop |
| その他 | async/await MVVM ReactiveX(英語版) |
| 典拠管理データベース: 国立図書館 |
チェコ |
|---|