gpt4 book ai didi

ASP.NET 就地预编译无法按预期工作

转载 作者:行者123 更新时间:2023-12-02 01:51:01 25 4
gpt4 key购买 nike

我正在尝试使用 ASP.NET 预编译工具 aspnet_compiler.exe 在部署后编译站点。

根据书籍定义,在网络机器上运行就地预编译应该会改善首页加载体验。编译工具编译每个 ASP.NET 页面,将编译后的版本存储在 %WINDIR%\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 文件夹中,就像页面有每个第一次从浏览器访问。就地预编译可以加快对站点上新部署的 ASP.NET 页面发出的第一个请求,因为它减少了运行时需要执行此步骤。

出于某种原因,它无法按照预期的方式工作。

在 Web 机器上本地手动运行 aspnet_compiler.exe 时:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler.exe -v /7.1 -p C:\MyPathToWebSite\www

它创建了以下结构的文件夹:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\7.1\640c1f87\4be3507b

当我尝试使用浏览器访问网页时,ASP.NET 在同一服务器上的以下文件夹中创建了另一个缓存版本:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\7.1\bc8a1bb3\42b014d4

如您所见,预编译在两种情况下都有效(手动和 IIS),但不知何故 IIS 看不到已经预编译和缓存的页面并尝试再次重新编译所有内容。我不知道遗漏了什么或做错了什么,因为 aspnet_compiler.exe 的就地编译参数选项有限。

到目前为止,我在测试/调查期间尝试了以下有关临时 ASP.NET 缓存的操作:

  • 似乎与用户无关,无论用户手动运行什么
  • 与源/目标 IP 无关,因为相同的文件夹是在不同子网的不同服务器上创建的

任何想法和帮助表示赞赏。

最佳答案

我遇到了同样的问题。仅使用我网站的元数据库路径解决了它。

aspnet_compiler.exe -m /LM/W3SVC/[site ID]/root

关于ASP.NET 就地预编译无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22694822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com