We are considering migrating a medium-sized F# ASP.NET WebAPI application running on .NET 6 from sync to async route-by-route. That is, convert one route at a time to async-all-the-way. Are there any pitfalls to this approach?
Embedded in this question, I would like some insight into how threads are managed for async vs. non-async routes. If we were to have sync and async routes living side-by-side in the same ASP.NET process, would they share the same ASP.NET managed thread pool, or would they each have separate thread pools? I am curious if during the transition we would actually end up with greater total number of threads in use.
And to be perfectly clear, I am asking about implementing "traditional" F# async computation expressions specifically, not the new task computation expressions (though any additional insights there would be welcome too).