gpt4 book ai didi

c# - 服务器无法在发送 HTTP header 后修改 cookie

转载 作者:行者123 更新时间:2023-11-30 15:08:28 24 4
gpt4 key购买 nike

我正在用 C# 创建一个 Web 应用程序。

当我的页面加载时,我触发一个异步线程来处理一些数据。此处理的一部分是更新 cookie。但是,当我通过

将 cookie 保存到响应中时

System.Web.HttpContext.Current.Response.Cookies.Add(cookie),我得到以下异常:

HttpException:发送 HTTP header 后服务器无法修改 cookie。

有什么方法可以解决或解决这个问题?

最佳答案

除非有充分的理由,否则不应在 ASP.NET 请求中启动后台工作线程。最终,在将响应发送回浏览器之前,您仍然必须等待该线程完成其工作。

听起来响应流已经被部分写入,然后您的线程正在尝试添加 cookie。

我会重新考虑您的策略并阅读以下指南:

Chapter 6 — Improving ASP.NET Performance - Threading Guidelines

它看起来像一份过时的文件,但原则仍然有效。如果调用数据处理器的原因是为了防止 ASP.NET 工作线程因数据处理器长时间运行而阻塞和耗尽资源,那么请考虑将页面设为 Asynchronous page。相反。

关于c# - 服务器无法在发送 HTTP header 后修改 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com