我在IIS上托管了一个ASP.NET Core网站。该站点使用添加了services.AddHostedService方法的IHostedService。 我将IIS应用程序池设置为“ AlwaysRunning”,将“ 0”设置为空闲超时。
我需要做的就是在AppPool(和IIS)启动后立即运行此服务。但是,它是在我访问它的任何页面之后启动的。我了解,这种情况是在创建应用程序之类的情况下发生的。
有什么方法可以自动启动网站并使它保持在线状态?
答案 0 :(得分:1)
这在IIS 8和ASP.NET Core 2.2中是可能的。
在IIS中,您需要将Start Mode
设置为Always Running
https://blogs.msdn.microsoft.com/vijaysk/2012/10/09/iis-8-whats-new-application-pool-settings/
然后在您的.csproj
中添加<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/aspnet-core-module?view=aspnetcore-2.2#in-process-hosting-model
如果您对此感兴趣,请关注此功能的Github问题: https://github.com/aspnet/AspNetCore/issues/3849
答案 1 :(得分:0)
注册任何ping / check / monitoring免费服务,它将每5/10/15分钟向您的站点发出请求