В среде MVC/WebAPI я бы использовал InRequestScope для привязки DbContext.
Тем не менее, теперь я нахожусь в приложении Консоль/роль службы Windows/Azure (не имеет значения, просто нет области веб-запроса), которая периодически создает несколько Tasks которые выполняются асинхронно. Я хотел бы, чтобы каждая задача имела свой собственный DbContext, и поскольку задачи выполнялись в их собственном потоке, я попытался DbContext с помощью InThreadScope.
К сожалению, я понимаю, что DbContext не удаляется, когда задача завершена. Что на самом деле происходит, поток возвращается в пул потоков, и когда ему назначается новая задача, у него уже есть DbContext, поэтому DbContexts остаются в живых навсегда.
Есть ли способ использования InThreadScope здесь или я должен использовать другую область? Как ThreadScope можно использовать, когда потоки возвращаются из ThreadPool каждый раз?