【问题标题】:Any way to start IIS App (Website) automatically? [duplicate]有什么方法可以自动启动 IIS 应用程序(网站)? [复制]
【发布时间】:2019-01-18 06:13:14
【问题描述】:

我有一个托管在 IIS 上的 ASP.NET Core 网站。该站点使用 IHostedService 添加了 services.AddHostedService 方法。 我将 IIS 应用程序池设置为“AlwaysRunning”,将“0”设置为空闲超时。

我需要的是在 AppPool(和 IIS)启动后立即运行此服务。但是,它在我访问它的任何页面后开始。我知道,这种情况是在创建应用程序时或其他情况下。

有什么方法可以自动启动网站并保持在线?

【问题讨论】:

  • 请将此作为重复项删除。这个答案只提供了一半的信息。将Start Mode 设置为Always Running 只会影响应用程序池。 ASP.NET Core 应用程序仍不会“预热”。因此,您需要将托管模型设置为InProcess
  • 相关主题中给出的答案不适用于我的问题。进程开始,但有一个例外。

标签: c# asp.net asp.net-core


【解决方案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 issue: https://github.com/aspnet/AspNetCore/issues/3849

【讨论】:

    【解决方案2】:

    注册任何 ping/check/monitoring 免费服务,它会每 5/10/15 分钟向您的站点发出请求

    【讨论】:

      猜你喜欢
      • 2011-05-05
      • 2018-06-13
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      相关资源
      最近更新 更多