ASP.NETは、動的なWebページを作成するためのWeb開発向けに設計されたサーバーサイドWebアプリケーションフレームワークです。マイクロソフトによって開発され、プログラマーが動的なWebサイト、アプリケーション、サービスを構築できるように設計されています。ASP.NETは「Active Server Pages Network Enabled Technologies」の略です。
Microsoft は最初に ASP.NET を ASP+ というコードネームで一般に発表しました。これは、同社のActive Server Pages (ASP) テクノロジーの再実装です。[ 3 ] ASP.NET はCommon Language Runtime (CLR)上に構築されており、プログラマーはサポートされている任意の.NET 言語を使用して ASP.NET コードを記述できます。[ 4 ] ASP.NET SOAP拡張フレームワークにより、ASP.NET コンポーネントは SOAP メッセージを処理できます。
2016 年、マイクロソフトはASP.NET の後継としてASP.NET Coreをリリースしました。この新しいバージョンは、 Entity Frameworkなどの他のフレームワークとともに、モジュール式のWeb フレームワークとして ASP.NET を再実装したものです。新しいフレームワークは、新しいオープンソースの.NET コンパイラ プラットフォーム(コードネーム "Roslyn") を使用し、クロス プラットフォームです。ASP.NET MVC 、ASP.NET Web API、および ASP.NET Web Pages ( Razorページのみを使用するプラットフォーム) は、統一された MVC (モデル ビュー コントローラ) 6に統合されました。[ 5 ]
ASP.NET は、Web アプリケーションを構築するためのさまざまなプログラミング モデルをサポートしています。[ 6 ]
その他のASP.NET拡張機能には以下が含まれます。
System.Web.IHttpHandler。ASP.NET ページとは異なり、HTML マークアップ ファイル、イベント、その他のサポート機能はありません。ハンドラーには、サーバーの HTTP レスポンスにデータを書き込むコード ファイル ( .NET 互換言語で記述) しかありません。HTTP ハンドラーはISAPI拡張機能に似ています。
IIS 6.0 以前のバージョンでは、サードパーティライブラリを使用しない限り、 異なるバージョンの ASP フレームワークを使用して作成されたページはセッション状態 を共有できません。これは、IIS 7 上で並行して実行される ASP.NET アプリケーションと ASP アプリケーションには適用されません。IIS 7.0 では 、モジュールは統合パイプラインで実行でき、任意の言語で作成されたモジュールを任意のリクエストに対して実行できます。[ 9 ]
ASP.NET で開発する場合、標準の Web フォーム開発モデルを使用する必要はありません。このプラットフォーム向けに設計された注目すべきフレームワークには、以下のようなものがあります。
ASP.NETのリリース履歴は、.NET Frameworkのリリースと密接に関連しています。
Monoプロジェクトは「.NET 4.7のWPF、WWF、および限定的なWCFと限定的なASP.NET非同期スタックを除くすべて」をサポートしています。[ 18 ] ASP.NETは、 mod_monoモジュールを使用したApacheホスティング、FastCGIホスティング、およびXSPの3つのオプションのいずれかを使用してMonoで実行できます。
...] ASP.NET ページと Web サービスは CLR (共通言語ランタイム) 内で実行されるため、CLR 準拠のコンパイラを備えた任意の言語で作成できます。[...] ASP.NET を使用すると、サポートされている .NET 言語 (Visual Basic、C#、J#、およびサードパーティ コンパイラを備えたその他の多くの言語を含む) でコーディングできます。