【问题标题】:asp.net core ajax getasp.net核心ajax获取
【发布时间】:2018-11-05 16:12:45
【问题描述】:

我正在制作一个简单的 jquery ajax 获取请求。第一个请求效果很好。但是,任何后续操作都会返回错误 431 (Request Header Fields Too Large)。似乎 asp.net 核心正在添加相当大的标题(见图)

我该如何解决这个问题?

提前感谢您的帮助]1

【问题讨论】:

    标签: ajax asp.net-core asp.net-core-2.0 asp.net-core-2.1 kestrel-http-server


    【解决方案1】:

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

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

    然后在Configure:

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

    您还想将会话配置为使用 Redis 或 SQL Server 等持久存储,而不是默认的内存,但这与 TempData 的使用没有直接关系。

    【讨论】:

      猜你喜欢
      • 2018-10-25
      • 2021-04-24
      • 1970-01-01
      • 2017-10-23
      • 2019-07-29
      • 2019-09-17
      • 2021-03-19
      • 2018-04-27
      相关资源
      最近更新 更多