Our team has discovered, to our surprise, that our ApiController classes are instantiated for every incoming request. Most developers on our team expected that the controller instances would be reused across requests by default.*
We've searched for the justification or reasoning behind this, in order to understand the tradeoffs that might be involved between reusing Controller instances and creating new ones, but have have found nothing concrete. Is there a documented reference that talks about it?
*We do realize that there's probably a way to change the behavior (to make it reuse instances across requests), but that's not the meat of this question.