Asp.net ядро ​​AJAX получить - PullRequest
0 голосов
/ 05 ноября 2018

Я делаю простой запрос jquery ajax. Первый запрос отлично работает. Однако любое последующее возвращает ошибку 431 (слишком большие поля заголовка запроса) . Похоже, ядро ​​asp.net добавляет довольно большие заголовки (см. Рис.)

Как мне решить эту проблему?

Заранее спасибо за помощь ![enter image description here] 1

1 Ответ

0 голосов
/ 05 ноября 2018

По умолчанию TempData использует поставщика на основе файлов cookie, что означает, что каждый добавляемый вами фрагмент данных отправляется в виде файла cookie. Похоже, вы добавили здесь так много, что заголовок теперь слишком большой. Самым простым решением является использование состояния сеанса в качестве TempData провайдера. Затем у вас будет только один файл cookie сеанса, независимо от того, сколько данных вы указали в TempData. В ConfigureServices добавить:

services.AddMvc()
    .SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
    .AddSessionStateTempDataProvider();

services.AddSession();

А потом в Configure:

app.UseSession();
app.UseMvc();

Вы также можете настроить сеанс на использование постоянного хранилища, такого как Redis или SQL Server, а не по умолчанию в оперативной памяти, но это не имеет прямого отношения к использованию TempData.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...