2

我在 IIS 7.5 (Windows 2008 R2) 上部署了 ASP .Net 核心 webapi。我有执行相同功能的控制器和侦听器类(等待消息到达 RabbitMQ 消息)。

问题是每当 webapi 部署在 IIS 上或有一些空闲时间时,RabbitMQ 消息都不会被拾取。只有当我对控件进行 API 调用时,应用程序才会“唤醒”并接收消息。

我尝试过的调整:在应用程序池中,

  1. 将“空闲超时”设置为 0 。
  2. 将“禁用重叠回收”设置为 true。
  3. 设置“禁用配置更改的回收”。

我不知道是什么原因造成的。我需要应用程序立即接收消息并且没有空闲时间。谁能指出我正确的方向?

4

1 回答 1

0

作为一个完整的解决方法,您可以通过始终发送请求来保持您的应用程序处于活动状态。就我而言,我什至无法更改 IIS 设置。

为了发送请求,我使用Application Insights中的可用性功能——它允许您创建测试,以每 5 分钟一次的频率向您的应用发送请求。你可以在这里阅读更多关于它的信息。GET

于 2017-11-17T09:08:23.257 回答