3

すべての http 要求に対して、ASP .NET ページはジャスト イン タイム (JITting) でコンパイルされますか?それとも、ページが初めて要求されたとき、またはアプリケーションの起動時ですか?

それに関するリソースが見つかりません。

4

3 に答える 3

1

自分でテストできます。

C:\inetpub\wwwrootディレクトリにmypage.aspxを作成し、次のように記述します。

<%@ Page language="C#" debug="true" %>
<html>
<head></head>
<%= this.GetType().Assembly.Location %>
</html>

ブラウザで開くと以下のようになります。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\26676eb7\92c7e946\App_Web_ip00zfkv.dll

そのアドレスに移動すると、生成されたファイルが表示されます (ただし、 Pageディレクティブでdebug=trueが指定されているため、ソース コードは削除されません)。

別の要求を作成して (ページを更新するだけ)、 dll名が変更されていないことがわかります。ただし、 mypage.aspxファイルで何かを変更すると、新しいdllが別の名前で生成されます。

于 2013-07-26T10:37:07.560 に答える
1

デフォルトでは、各ページの最初の要求 - ASP.NET 動的コンパイルについてを参照してください。その後、ページが変更された後に最初に要求されたときに再コンパイルされます。

ただし、構成ファイルでプリコンパイル オプションを指定することはできます。

于 2013-07-26T10:24:36.273 に答える