Cod*_*396 5 iis asp.net web-applications web.config iis-10
最终目标是做到这一点,以便每当我的应用程序池被回收时(每当我发布网站更新时都会发生这种情况),我的网站就会被访问一次以“预热”。通常,回收后第一次访问需要 2.5 秒,后续访问只需 0.5 秒,因此每次更新后都需要访问一次。我想自动执行此操作,Windows 应用程序初始化功能似乎就是实现此目的的方法。
问题是,启用此功能后,在重新启动应用程序池(或重新启动任何内容)时,我看不到访问我的网站的任何访问日志。应用程序初始化功能似乎根本不起作用。我在系统事件日志中没有看到任何错误,也没有看到任何进一步排除故障的方法。
这是环境:
以下是我的配置(使用IIS 8.0 应用程序初始化指南):
system.webServer/applicationInitialization部分:

故障排除:
system.webServer/applicationInitialization部分中的各种设置,并将其移至 web.configglobalModulesapplicationHost.config 文件的部分有这个,但我浏览到该文件夹,它是空的。我本来期望那里有一些 dll 文件,包括 Warmup.dll:<add name="ApplicationInitializationModule" image="%windir%\System32\inetsrv\warmup.dll" />
Run Code Online (Sandbox Code Playgroud)
看来 IIS 应用程序初始化功能和 ASP.NET Core 3.1 站点之间肯定存在一些不兼容,因为它根本不起作用,而且似乎没有任何方法可以进行故障排除。
因此,我决定完全放弃 IIS 进程内托管,而是将 Kestrel 托管在 Windows Service Worker Service 内。
| 归档时间: |
|
| 查看次数: |
3494 次 |
| 最近记录: |