У нас есть рабочая очередь, к которой пользователь может добавить работу. Когда рабочий элемент добавляется, контекст является пользователем (HttpContext
). Но это фоновый поток, который обследует очередь и выполняет элементы по порядку.Очередь рабочего и контекст пользователя
Я не могу просто хранить пользователь, потому что, когда HttpContext
расположен так будет главный объект
код, который может работать в рабочем нужен Принципал быть правильными для вещей, как PrincipalPermissions
и т.д.
также , управление Lifetime (IoC) использует HttpContext
для InRequest
областей, можно воссоздать HttpContext
с правильным принципалом и т.д.
редактировать: Faking HttpContext - это просто приятная функция для управления жизненным циклом, это я могу обойти. Но наш внутренний код сильно зависит от наличия правильного принципала пользователя для потока, поскольку мы используем его для проверки того, имеет ли пользователь доступ к этой части системы. я бы пометить как ответ если кто-то может ответить, как сохранить пользователь принципал с единицей, роли и состоянием IsAuthenticated, а затем использовать его в другом потоке
Это не то, что Im после, я не хочу создавать HTTP-запрос, я хочу создать httpcontext для рабочего фона, у которого его нет. На самом деле самое главное, что я могу как-то сохранить и повторно использовать принципала HttpContext – Anders
, вы не можете создать HttpContext в фоновом режиме, так что вы можете пересечь эту проблему, создав httpRequest и посетив страницу, которая в вашем приложении – Eugene
, и есть HttpContext на вашей логической странице. – Eugene