Я пытаюсь сохранить список в TempData в .net core 2.1. Проблема в том, что он не выдает никакой ошибки при сохранении списка в tempdata, но после оператора return всегда выдает исключение и выдает меня в раздел ошибок вызова ajax. При отладке сообщения об ошибке в вызове ajax, он просто говорит «ошибка»
Вот код контроллера:
IList<Product> productList = new List<Product>
{
new Product{ProductId=Guid.NewGuid().ToString(),Name="142525"},
new Product{ProductId=Guid.NewGuid().ToString(),Name="122555"},
new Product{ProductId=Guid.NewGuid().ToString(),Name="125255"}
};
TempData["Products"] = productList;
return Json(productList);
Ajax Запрос:
$(document).ready(function () {
$.ajax({
type: "GET",
url: '@Url.Action("Index", "Product")',
success: function (result) {
alert('All ok');
},
error: function (result, err) {
debugger;
alert('Something went wrong');
}
});
});
А вот и код файла запуска:
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddSessionStateTempDataProvider();
services.AddSession();
И
app.UseStaticFiles();
app.UseAuthentication();
app.UseCookiePolicy();
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Я также пытался переместить app.UseCookiePolicy после app.UseMvc, но все равно не повезло. Это официальная ссылка Microsoft на документ https://docs.microsoft.com/en-us/aspnet/core/fundamentals/app-state?view=aspnetcore-2.1#tempdata, и я уже перепробовал все, что упомянуто здесь. Что я делаю не так?