HttpContext.Current null wewnątrz asynchronicznego zadania

Mam metodę, która używa repozytorium (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;
    }

TheuserRepoobiekt ma zależność, która używaHttpContext.Current. Oba są rozwiązywane za pomocą ninjectInRequestScope.

Powyższa metoda jest wywoływana wewnątrz wartości domyślnejAccountController w Mvc 5:

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

Próbowałem dodać to ustawienie do web.config:

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

Ponadto zdecydowanie korzystam z .NET 4.5. Jest to również w moim web.config:

<httpRuntime targetFramework="4.5" />

Nie można uzyskać informacji zHttpContext przed rozpoczęciem zadania, ponieważ zależnośćuserRepo w zadaniu wykorzystywana jest informacja, a oba obiekty są rozwiązywane za pomocą Ninject.

Jak mogę to zapewnićHttpContext.Current nie będzie null?

questionAnswers(1)

yourAnswerToTheQuestion