1

ASP Web サイト (Web フォームまたは MVC) のルートに移動すると、Web サーバーはどの .aspx または .cshtml ファイルを読み込むか、およびbin/ディレクトリ内のどの dll に実行するコードが含まれているかをどのように認識しますか? 2つをどのように一致させますか?

4

1 に答える 1

5

非常に技術的な答えを探しているのか、簡単な概要を探しているのかわかりません。というわけで、簡単な概要を以下に示します。

デフォルトのドキュメント

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れ、そこからコードを実行するために必要なアセンブリがアタッチされます。

于 2013-01-08T14:03:50.160 に答える