У нас есть рабочая очередь, в которую пользователь может добавить работу. При добавлении рабочего элемента контекстом являются пользователи (HttpContext
). Но это фоновый поток, который опрашивает очередь и выполняет элементы один за другим по порядку.
Я не могу просто сохранить пользователя, потому что, когда HttpContext
будет удален, основной объект будет
Код, который может работать в рабочем потоке, требует, чтобы Принципал был корректным для таких вещей, как PrincipalPermissions
и т. д.
Кроме того, управление жизненным циклом (IoC) использует области HttpContext
для InRequest
, возможно ли воссоздать HttpContext
с правильным субъектом и т. д.
изменить: подделка HttpContext — это просто хорошая функция для управления временем жизни, и я могу обойти это. Но наш внутренний код сильно зависит от наличия правильного принципала пользователя для потока, поскольку мы используем его для проверки того, имеет ли пользователь доступ к этой части системы. Я бы отметил как ответ, если кто-то может ответить, как сохранить участника-пользователя с идентификатором, ролями и состоянием IsAuthenticated, а затем использовать его в другом потоке.