Handler location in web.config

Recently we ran into a bizarre issue with application pool initialization and heavy load. I’m referring to the ones under system.webServer (for IIS 7+). We found under heavy load and a long initialization process that IIS would ignore the ServiceStack handler and fallback to whatever default IIS uses. Once IIS took control that particular url path was forever held onto by IIS (returning a 404 every time) until another application pool restart. We were able to isolate it to our handler residing under a config element. As soon as we placed it at the root everything started working.

When I say heavy load I mean calling a single service call 100+ times async via the JsonServiceClient or via an html page using backbone. Oftentimes this required stopping/starting the application pool 4+ times before the issue would re-appear. It all seemed like a timing issue.

Has anyone ran into this problem? If so did you find any other answers/solutions to this problem?

Note: This happened using 3.9.71. I don’t believe (not tested yet) the version makes any difference. Which is why I decided to ask here.