IHostedService未在IIS 10上运行

1qczuiv0  于 2023-02-23  发布在  其他
关注(0)|答案(1)|浏览(163)

我有一个ASP.NET Web-API,它有一个IHostedService来定期执行特定的任务(从另一个网站获取数据并将其写入数据库)。
这在IIS-Express上运行良好(从VisualStudio内部开始)
但是当将API发布到我的本地IIS或我的外部提供程序的IIS时,IHostedService不会启动。
在我Startup.cs中:services.AddHostedService<QuartzHostedService>();
我试着在调用一个特定的路径时手动添加值到数据库中,所以这不是问题。我猜这与IIS有关。问题是,我没有访问外部提供商IIS配置的权限。我在网上找到的所有东西都显示了一些IIS配置。我希望有人能帮助我。

nnsrf1az

nnsrf1az1#

在IIS上进行设置的步骤
1.添加“应用程序初始化”功能,仅在IIS 8.0及更高版本中可用。

  • 首先您需要在服务器上启用“应用程序初始化”功能,因此,在“服务器管理”--〉“管理”--〉“添加角色”--〉“IIS Web服务器”--〉“Web服务器”--〉“应用程序开发”--〉“应用程序初始化”

1.创建应用程序池

  • 设置属性:
  • 起动机模式:始终运行
  • .NET CLR:V4.0(即使您的项目是.net core,因为如果您更改了它,配置将无法正常工作)
  • 空闲:0
  • 在IIS站点下创建应用程序并配置高级设置:
  • 应用程序池:使用上一步中创建的池
  • 预加载激活:真的
  • 启动您的Pool或Recycle,您的托管服务必须运行,

重要提示:https://learn.microsoft.com/en-US/troubleshoot/developer/webapps/aspnet/site-behavior-performance/application-fail-ssl-web存在一个问题,因此,如果您的站点已启用“SSL Required”,您是否需要从您的特定站点更改此设置,

  • 在IIS上选择您的应用程序,然后在中间面板“IIS”部分双击“SSL配置”
  • 然后取消选中“需要SSL”

您的托管服务

相关问题