1
votes

I have a scenario where there are many .NET Web APIs hosted in one IIS. It's one application per customer.

I need to implement user notifications features. Which consists in one message publisher system, and many receivers that are those applications hosted in the IIS. And I'm thinking about using Azure Service Bus to make communications between the publisher system and the receivers.

The thing that makes me confused is that those applications running in IIS are Web APIs and they enter in Idle state after a while without activity. That's intended as it allows us to save resources. But i don't know if subscribing to a queue will make the applications not to enter the Idle state. Or if they enter the Idle state and when they receive messages, they'll all at the same time get out of the idle state.

1
By default, IIS7 sets application pools to “time-out” after 20 minutes of inactivity. If you do not have any activity to your site within 20 minutes the application pool will shut down – freeing up those system resources. By doing this, the webagent tied to the default application pool will also be shut down. Then the next time a request comes into the site IIS7 will automatically restart the application pool and serve up the requested pages and in turn, start the webagent. It will also mean that the first request – the one that causes the application pool to restart will be very slow.Ding Peng
If Azure Service Bus queue subscription send a request to IIS, IIS will automatically restart.Ding Peng
You can also cancel Idle Time-out in IIS.Ding Peng
@DingPeng but when we make a subscription to a queue. The communication between Service Bus and my application is no the IIS, is it? What i mean is that if my application is served in IIS for example in www.mysite.com in the domain www.google.com. When i subscribe to a queue, is not www.google.com:80 that will be the communitation channel between my application and Azure Service Bus. There'll be another channel. And that channel also wakes up the IIS ?Eduardo Junior
@DingPeng Cancelling the Idle timeout is not an option because it would be a resource waste.Eduardo Junior

1 Answers

0
votes

AFAIK, the answer to your question is that once Web API create a receiver at their end, they won't die as they will be still active and listening to the subscriber (receiver queue).

For more details of publish subscribe method's working in Service Bus, you can visit Service Bus queues, topics, and subscriptions.