Ich versuche, Async-Controller zu verwenden und bin nicht in der Lage, herauszufinden, wie würde man die Benutzereingabe validieren.
Im Folgenden sind die beiden asynchronen Methoden in meinem Controller definiert. Sollte ich für ModelState.IsValid in der SearchAsync-Methode oder SearchCompleted-Methode überprüfen. Wenn SearchAsync dann wie wird die Ansicht Ergebnis zurückkehren, wie seine Rückgabetyp ist void. Wenn SearchCompleted dann wie wird die Methode über searchForm Parameter wissen.
[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);
}