Как мне заставить мой метод MVCcontroller вызывать асинхронно долгосрочную задачу WCF и перенаправлять сразу после запуска асинхронного вызова?
Я настроил ссылку на службу WCF на «Генерация асинхронных операций», но когда метод вызывается, я вижу в отладчике, что код переходит и пропускает строку «RedirectToAction (« RedirectToActionTestCompleted »)» но браузер не перенаправляет, пока не завершится задача WCF.
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult About()
{
return View();
}
public ActionResult RedirectToActionTest()
{
Service1Client client = new Service1Client();
client.TestWcfCallAsync();
return RedirectToAction("RedirectToActionTestCompleted");
}
public ActionResult RedirectToActionTestCompleted()
{
return View();
}
}
И метод обслуживания WCF
public void TestWcfCall()
{
Thread.Sleep(30000); //30 seconds
}
Почему веб-страница ожидает завершения метода WCF?