ASP Web サイト (Web フォームまたは MVC) のルートに移動すると、Web サーバーはどの .aspx または .cshtml ファイルを読み込むか、およびbin/
ディレクトリ内のどの dll に実行するコードが含まれているかをどのように認識しますか? 2つをどのように一致させますか?
1 に答える
非常に技術的な答えを探しているのか、簡単な概要を探しているのかわかりません。というわけで、簡単な概要を以下に示します。
デフォルトのドキュメント
ASP Web サイトのルートに移動したとき
ASP、HTML、PHP、または使用するテクノロジに関係なく、Web サーバーは、ドキュメントが提供されていない場合に検索して表示する既定のドキュメントを認識しています。たとえば、Microsoft IIS サーバーでは、既定のドキュメントは次のとおりです。
これはApacheサーバーでも同じです。サーバーに「ドキュメント名がない場合は、これを使用する」設定を伝える設定があります。これは.htaccess
ファイル内にあり、次のものがあります。
DirectoryIndex index.php index.html index.htm default.html default.htm home.html
ASP.NET MVC では、ルーティング テーブルをGlobal.asax
操作し、ルートを直接指定するか、外部ファイル (クラス) を呼び出すことによって、ルートが記述されているファイルにあり、一般的なルートは次のとおりです。
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
これは、ルートが指定されていない場合は と同じになることを示してい/Home/Index
ます。
アセンブリ
s の部分に関してはDLL
、最初のドキュメントに関するすべてです...
.NET サイトは事前にコンパイルされ、その名前空間とプロパティが公開されています。ASP.NET Web フォームには、コードの最初の行に次のようなものがあります。
<%@ Page Title="Home Page" Language="C#"
MasterPageFile="~/Site.Master"
AutoEventWireup="true"
CodeBehind="Default.aspx.cs"
Inherits="WebApplication3._Default" %>
これにより、サーバーはWebApplication3._Default
内部を実行するように指示さDefault.aspx.cs
れ、そこからコードを実行するために必要なアセンブリがアタッチされます。