【问题标题】:Does uploading new ASPX page will force IIS to recompile the website?上传新的 ASPX 页面会强制 IIS 重新编译网站吗?
【发布时间】:2023-03-05 00:50:02
【问题描述】:

将仅包含 HTML 内容更改的 aspx 页面上传到 Web 项目会导致 IIS 重新编译站点吗?

【问题讨论】:

  • 不应该。我将等待专家的意见。

标签: asp.net .net iis


【解决方案1】:

是的,IIS会预编译网站,即使项目是Web应用程序,我这么说是因为网站是

由服务器上的 ASP.NET 动态(自动)编译 安装站点后第一次收到请求或 更新了

在 Web 应用程序中

您在使用的计算机上显式编译源代码 用于开发或源代码控制

From Web Application Projects versus Web Site Projects in Visual Studio, MSDN

但即使在 Web 应用程序项目中,web pages (.aspx), user controls (.ascx), and MVC Razor views (.cshtml and .vbhtml) are compiled dynamically on the server by the ASP.NET compiler

现在,回答您的问题,是的,它会编译,因为它是一个 .aspx 文件,以及 .aspx 文件(以及其他文件类型,如 .ascx、.ashx 等)即使里面只有 HTML 也会被考虑,

当对应用程序发出第一个请求时,ASP.NET 编译 特定顺序的文件。首先要编译的项目被引用 to 作为顶级项目。第一次请求后,顶层 仅当依赖项发生更改时才会重新编译项目。

顶级项目包括 App_GlobalResources 文件夹、 App_WebResources 文件夹、配置文件属性、App_Code 文件夹和 Global.asax 文件。顶层项目编译完成后,ASP.NET 编译附加项目。

这些项目包括 App_LocalResources 文件夹、单个 ASP.NET 页面(.aspx 文件)、ASP.NET 用户控件(.ascx 文件)、ASP.NET HTTP 处理程序(.ashx 文件)和 ASP.NET HTTP 模块(.asmx 文件),如 以及主题、母版页和其他源文件。

From Understanding ASP.NET Dynamic Compilation

【讨论】:

    【解决方案2】:

    即使您上传包含<script runat="server"> 等代码内容的 ASPX 文件,IIS 也不会重新编译该站点。编译将在有人第一次点击该页面时进行。

    但即使页面上没有任何服务器站点代码,C# 或 VB.Net 编译器也会启动。它还不知道里面还没有代码。

    但据我所知,它通常只会编译新页面,而不是整个网站。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      相关资源
      最近更新 更多