Я пытаюсь использовать асинхронный контроллер и не могу понять, как можно было бы проверить вводимые пользователем данные.
Ниже приведены два асинхронных метода, определенных в моем контроллере. Должен ли я проверять ModelState.IsValid в методе SearchAsync или SearchCompleted. Если SearchAsync, то как будет возвращать результат просмотра, так как его тип возврата недействителен. Если SearchCompleted, то как метод узнает о параметре searchForm.
[HttpPost]
[ValidateAntiForgeryToken]
public void SearchAsync(BusinessSearchForm searchForm)
{
AsyncManager.OutstandingOperations.Increment();
new Thread(() =>
{
var suggestions = _searchSvc.GetSuggestions(searchForm.BusinessName, searchForm.StreetAddress, searchForm.City, searchForm.PostalCode);
AsyncManager.Parameters["suggestions"] = suggestions;
AsyncManager.OutstandingOperations.Decrement();
}).Start();
}
public ActionResult SearchCompleted(IEnumerable<BusinessSuggestionBase> suggestions)
{
return View(suggestions);
}