HttpContext.Current null внутри асинхронной задачи

У меня есть метод, который использует хранилище (userRepo):

    public override Task<IdentityResult> CreateLocalUserAsync(IUser user, string password, CancellationToken cancellationToken)
    {
        var task = new Task<IdentityResult>(() => {

            TUserEntity newUser = new TUserEntity
            {
                Id = user.Id,
                UserName = user.UserName,
                Password = password
            };

            userRepo.Save(newUser).Flush();

            return new IdentityResult(true);
        }, cancellationToken);

        task.Start();

        return task;
    }

userRepoобъект имеет зависимость, которая используетHttpContext.Current, Оба из них решаются с помощью ninjectInRequestScope.

Вышеуказанный метод вызывается внутри по умолчаниюAccountController в Mvc 5:

var result = await IdentityManager.Users.CreateLocalUserAsync(user, model.Password);

Я попытался добавить этот параметр в web.config:

<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />

Кроме того, я определенно использую .NET 4.5. Это также в моем web.config:

<httpRuntime targetFramework="4.5" />

Невозможно получить информацию отHttpContext прежде чем начать задание, потому что зависимость отuserRepo В задании используется информация, и оба объекта решаются с помощью Ninject.

Как я могу гарантировать, чтоHttpContext.Current не будет нулевым?

Ответы на вопрос(1)

Ваш ответ на вопрос