Проблема Ninject Scope с задачами / потоками

У меня есть проект MVC3, который использует Ninject, Entity Framework и шаблон Unit of Work со слоем Service.

Мой класс AsyncService имеет функцию, которая запускает фоновую задачу, которая, например, добавляет пользователей в репозиторий User. Моя текущая проблема заключается в том, что задача выполняется правильно только в течение нескольких секунд, прежде чем я получаю сообщение об ошибке DbContext. Мой контекст базы данных, который внедряется с помощью InRequestScope () Ninject, кажется, удаляется, так как InRequestScope () связывает его с HttpContext.

Я читал об InThreadScope (), но не уверен, как правильно его реализовать в своем проекте MVC.

Мой вопрос: как правильно использовать Ninject в моей задаче?

public class AsyncService
{
    private CancellationTokenSource cancellationTokenSource;
    private IUnitOfWork _uow;
    public AsyncService(IUnitOfWork uow)
    {
        _uow = uow;
    }
    public void AsyncStartActivity(Activity activity)
    {
    ...snip...
        this.cancellationTokenSource = new CancellationTokenSource();
        var cancellationToken = this.cancellationTokenSource.Token;
        var task = Task.Factory.StartNew(() =>
            {
                foreach (var user in activity.UserList)
                {
                    this._uow.UserRepository.Add(new User() {UserID = user});
                }
                this._uow.Save();
            }, cancellationToken);
     ...snip...
    }
}

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

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