asp.net核心ajax get

asp.net核心ajax get,ajax,asp.net-core,asp.net-core-2.0,asp.net-core-2.1,kestrel-http-server,Ajax,Asp.net Core,Asp.net Core 2.0,Asp.net Core 2.1,Kestrel Http Server,我正在发出一个简单的jquery ajax get请求。第一个请求非常有效。但是,任何后续操作都会返回错误431(请求头字段太大)。似乎asp.net核心正在添加相当大的头文件(参见图) 我如何解决这个问题 提前感谢您的帮助]默认情况下,TempData使用基于cookie的提供程序,这意味着您添加的每一条数据都作为cookie输出。看起来您在这里添加了太多内容,以至于标题现在太大了。最简单的解决方案是使用会话状态作为TempData提供程序。然后,不管您在TempData中设置了多少数据,您只

我正在发出一个简单的jquery ajax get请求。第一个请求非常有效。但是,任何后续操作都会返回错误431(请求头字段太大)。似乎asp.net核心正在添加相当大的头文件(参见图)

我如何解决这个问题


提前感谢您的帮助]

默认情况下,
TempData
使用基于cookie的提供程序,这意味着您添加的每一条数据都作为cookie输出。看起来您在这里添加了太多内容,以至于标题现在太大了。最简单的解决方案是使用会话状态作为
TempData
提供程序。然后,不管您在
TempData
中设置了多少数据,您只需要输出一个会话cookie。在
ConfigureServices
中添加:

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

services.AddSession();
然后在
配置中:

app.UseSession();
app.UseMvc();
您还希望将会话配置为使用诸如Redis或SQL Server之类的持久存储,而不是默认的内存中存储,但这与
TempData
的使用没有直接关系