Moja funkcja wyszukiwania wydaje się kontynuować w nieskończonej pętli, za każdym razem mój debug trafi akcję poniżej wyniku działania POST zostaje zwolniony.Niewystarczający stos, aby kontynuować bezpieczne wykonywanie programu. ASP.NET MVC 4
W moim Masterpage.cshtml mam następujące działania:
<li>@Html.Action("Search", "Search")</li>
Jest to część, która dostaje się błąd z następujących elementów:
Niewystarczająca stosu, aby kontynuować wykonywanie programu bezpiecznie. Może to być spowodowane zbyt dużą liczbą funkcji na stosie wywołań lub funkcji na stosie przy użyciu zbyt dużej przestrzeni stosu.
W moim SearchController mam dostać i po ActionResult metody:
[HttpGet]
public ActionResult Search()
{
return PartialView("SearchFormPartial");
}
Ten zwraca częściowego widoku, które następującej treści:
@using (Ajax.BeginForm("Search", "Search", FormMethod.Post,
new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST"
}))
{
<div>
@Html.TextBox("query", "", new { @class = "search-query", @placeholder="Search news...", @spellcheck="false"})
<input type="submit" value="Search" />
</div>
}
Its Basicly postaci z pola tekstowego i prześlij przycisk.
To ActionResult HTTP POST:
[HttpPost]
public ActionResult Search(string query)
{
if (query != null)
{
try
{
var searchlist = rep.Search(query);
var model = new ItemViewModel()
{
NewsList = new List<NewsViewModel>()
};
foreach (var NewsItems in searchlist)
{
FillProductToModel(model, NewsItems);
}
return View("Searchresults", model);
}
catch (Exception e)
{
// handle exception
}
}
return View("Error");
}
Zwraca widok z ViewModel, który zawiera elementy, które dopasowane do zapytania.
Kiedy debuguję wszystko, wszystko działa idealnie, ale wszystko wydaje się powtarzać nieskończenie.
Widok na wynik wyszukiwania wygląda następująco:
@model Namespace.ViewModels.ItemViewModel
@if (Model.NewsList.Count == 0)
{
<h3 class="text-error">No items matched your search query!</h3>
}
else
{
foreach (var result in Model.NewsList)
{
// display search results
}
}
Co się dzieje niewłaściwy tutaj exacly że przyczyną tego nieskończonej pętli? i jak mogę to naprawić?
W ślad stosu znalazłem te wyjątki
[HttpException (0x80004005): Error executing child request for handler
'System.Web.Mvc.HttpHandlerUtil + ServerExecuteHttpHandlerAsyncWrapper'.]
wyjątek ten wydaje się coraz powtarzane
nie, ale po wykonaniu iteracji przeskakuje do pliku masterpage.cshtml i Html.Action ("Search", "Search" ") – Obsivus
Czy pojawia się błąd podczas publikowania w akcji Search? –
Błąd pojawia się, gdy przestaję uruchamiać aplikację webb. W przeciwnym razie jest to nieskończona pętla, co oznacza, że kiedy wpisuję tekst i klikaję, po prostu ładuję – Obsivus