.net column

.NET開発者のためのブログメディア
サーバーネットワーク

マイクロソフトが提供するASP.NETの仕組みとは

2019年10月14日

ASP.NETとは、マイクロソフト社が開発・提供しているWebアプリケーション開発フレームワークで、主にWebアプリケーションやWebサービスの開発が可能です。

SE
アプリ開発している友達がASP.NETを使っているみたいですが、どんな環境なんですか?
PL
簡単にいうとWebやWindowsのアプリを作るためのプラットフォームです。ASP.NETの基礎知識を解説しましょう。

Webサービス開発ができるASP.NETとは

ASP.NETとは、Active Server Pagesを.NET Framework技術を用いて利用できるようにしたものです。

まず、.NET環境におけるWeb開発では、以下の3つのフレームワークが用いられることが多いです。

  • ・ASP.NET
  • ・WCF(Windows Communication Foundation)
  • ・Silverlight

ASP.NETは、これまでWebアプリケーション構築の概念でした。

HTMLやHTTP通信の仕組み(HTML送受信に利用する通信プロトコル)、ブラウザとサーバー間のデータのやりとりなどを、GUIモデルによって作成することができます。さらに、Visual Studioなどの統合開発環境を用いることで、Webに詳しくなくても簡単に高機能なWebアプリケーションの開発をすることが可能です。

ページデザインは、以前のASPと同じようにHTMLを直接記述することもできますが、Visual Studioなどの開発環境を用いることでGUIによるページデザインもできます。
また、ブラウザ上で入力されたデータをサーバー側に送信する「HTTP POST」の仕組みを利用した、「PostBack」と呼ばれる仕組みを使うことによってイベント駆動型プログラミングを実現しています。

一般的なページでは入力データを処理し、その結果を表示するようなページのURLが記述されますが、ASP.NETにより生成されたページでは、データをポストする先は常にそのページ自身です。
このようなポストを、ASP.NETでは特に「ポストバック」と呼んでいます。

おすすめ学習項目

  • ・ASP.NET Web フォーム (*.aspx)
  • Web フォームは、主にサーバー・サイド・コントロールから構成される Web ページです。

  • ・マスターページ (*.master)
  • マスターページとは、Webサイトのテンプレートを定義する仕組みです。これにより開発者はサイトのデザインやレイアウトを集中管理できます。

  • ・HTTP ジェネリックハンドラ (*.ashx)
  • HTTPハンドラは、ブラウザからの要求に応える役割を担っています。
    ブラウザが管理する要求は、ファイル拡張子(またはその欠如)に基づいて処理されるか、
    ハンドラを直接呼び出すことによって処理されます。

ASP.NETで使用できる言語

ASP.NETは、特定のプログラミング言語には依存していないため、例えばC++でもASP.NETの技術を用いて、Webアプリ—ケーションを構築することができます。
Visual StudioではVisual Basic(以下VB)やC#を既定の言語として選択するようになっていますが、C++/CLIやJScript.NETなど.NETに対応した言語であれば記述することも可能です。

実際の現場では VB.NET も候補に挙がるかと思いますが、マイクロソフトの.NET Framework基本言語はC#となっています。
C#はJavaと似ているため、利用しやすくおすすめの言語です。特に、バグが少ないところやオブジェクト指向言語であるなどは、Javaの長所を受け継いでいます。

また、VB.NET を使うメリットとして便利なライブラリの存在が挙げられますが、C#からもVB.NETのアセンブリを参照すれば利用可能です。

ASP.NETの仕組み

ASP.NETなど、Webアプリケーションの一連の処理はブラウザでWebサーバーにリクエストを送信することで、処理が一回開始されてWebサーバーがブラウザにHTMLを送る事で終了します。

また、.NET Frameworkではプログラムはすべてコードで記述されており、実行するためにはコンパイルをする必要があります。

SE
2019年4月にアップデートもされたみたいですし、今後も勉強しておいて損はありませんかね?
PL
.NET Frameworkはメモリ管理やアプリケーション展開などの機能性が高く、メリットはたくさんあります。プログラミング経験がある人ならぜひ押さえておきたいですね。

ASP.NETで開発を行う場合は.NET Frameworkの知識はマスト

.NET FrameworkはWindows系のプログラムを動かすプラットフォームであるとご理解いただけたかと思います。
ASP.NETを使ってWebサービスの構築を行う場合、必要となる知識なので理解しておきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)