Thread was being aborted / IIS Application Pool Idle Time-out (minutes) Setting

Idle Time-out (minutes)

[idleTimeout] Amount of time (in minutes) a worker process will remain idle before it shuts down. A worker process is idle if it is not processing requests and no new requests are received.

So, if you are after an architecture that collects and queues requests in order to process them in a separate thread, make sure this thread is not running past this setting.

Otherwise, you might get Thread was being aborted. error.

Solution: set Idle Time-out to zero (0), which disables feature that kills w3wp.exe process due to lack of web requests, or make sure that long running threads are kept at safe distance from IIS. The latter would also significantly improve the performance.

This entry was posted in Infrastructure, Software Architecture, Software Development and tagged , , . Bookmark the permalink.

2 Responses to Thread was being aborted / IIS Application Pool Idle Time-out (minutes) Setting

  1. Ryan says:

    What specifically do you mean by “or make sure that long running threads are kept at safe distance from IIS” ? How can this be done?

  2. v. says:

    I’m afraid I can’t be specific enough in a blog comment, but you’d need a service, perhaps running on different server(s), that is optimized for running background tasks and capable of getting instructions from ASP.NET code. Maybe you should look into a job queue management software.

Leave a Reply

Your email address will not be published. Required fields are marked *