我有一个部署到多个位置的 ASP.NET Core 应用程序,根据 IIS 应用程序池和站点是手动创建(使用 IIS 点击式 UI)还是通过 Azure 代理创建,表现出不同的行为来自发布管道(由两个任务组成:创建应用程序池和 Web 应用程序的“IIS Web 应用程序管理”任务,以及复制内容的“IIS Web 应用程序部署”任务)。
两个站点具有相同的文件和文件权限。这两个应用程序池具有相同的配置文件。
手动创建的站点运行正常。发生错误时,它会被 app.UseStatusCodePages() 指令定义的 ASP.NET Core 中间件捕获。 Azure 代理创建的站点上的异常不会由应用程序处理,而是 IIS 返回在站点级别定义的错误页面。所有站点的“错误页面”配置都是相同的(未编辑)。
我一直无法在配置中找到任何差异来解释不同的应用程序行为,但我已经在两个不同的 IIS 服务器上重现了这种差异。
任何人都可以建议另一个地方来寻找应用程序配置差异吗?
由于文件和权限相同,应用程序池配置也相同,接下来要检查的是手动创建的站点和 Azure 代理创建的站点的 applicationHost.config 文件。
applicationHost.config文件位于%windir%\System32\inetsr