У меня есть [HttpPost]
метод действия:
[HttpPost]
public ActionResult AddReview(Review review)
{
repository.Add(review);
repository.Save();
repository.UpdateSystemScoring(review.Id); // call SPROC with new Review ID.
return View("Success", review);
}
Итак, в основном пользователь нажимает кнопку, я добавляю ее в свою базу данных (через Entity Framework 4.0), сохраняю изменения и затем вызываюхранимая процедура с полем идентификации, которое является второй последней строкой кода.
Это необходимо сделать после проверки сохраняются (поскольку поле идентификации создается только после сохранениявызывается, и EF сохраняет изменения), и это общесистемный расчет.
С точки зрения пользователя , он / она не /не должно волновать, что этот расчет происходит.
Эта процедура может занять от 0 до 20 секунд.Он ничего не возвращает.
Это кандидат на асинхронный контроллер?
Есть ли способ добавить обзор и разрешить другому асинхронному контроллеру обрабатывать длительный вызов SPROC, чтобы пользователь мог сразу перейти на страницу успеха?
Я должен признать, (частично стыдно за это): это переписывание существующей системы, и в исходной системе (ASP.NET Web Forms) я запустил другой поток для достиженияВышеприведенная задача - вот почему мне было интересно, можно ли применить тот же принципал к ASP.NET MVC 3.
Я всегда пытаюсь и избегать многопоточности в ASP.NET, но пользовательопыт является приоритетом № 1, и я не хочу, чтобы время ожидания страницы истекло.
Итак, возможно ли это?Также рады услышать любые другие идеи.Кроме того - я не могу использовать триггеры здесь, на самом деле не хочу вдаваться в подробности почему - но я не могу.