gpt4 book ai didi

c# - 获取 Html.AntiForgeryToken 会引发错误 "Server cannot modify cookies after HTTP headers have been sent"

转载 作者:太空宇宙 更新时间:2023-11-03 23:30:22 26 4
gpt4 key购买 nike

当我尝试运行以下代码时:

<form id="__SendAjaxAntiForgery" action="#" method="post"><%= Html.AntiForgeryToken()%></form>

我得到以下错误
“服务器无法在发送 HTTP header 后修改 cookie。”

堆栈跟踪读取

at System.Web.HttpResponse.BeforeCookieCollectionChange()
at System.Web.HttpCookieCollection.Set(HttpCookie cookie)
at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.GetFormInputElement(HttpContextBase httpContext)
at System.Web.Helpers.AntiForgery.GetHtml()
at System.Web.Mvc.HtmlHelper.AntiForgeryToken()
at ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer)

只有当我打开 2 个选项卡并在其中一个选项卡上注销然后重新登录选项卡 1 时才会发生这种情况(这样做时我得到了一个新的 AntiForgeryToken),然后转到选项卡 2 并刷新。

当我尝试获取“Html.AntiForgeryToken();”时出现异常

最佳答案

浏览器中的两个选项卡被认为是到服务器的同一个登录 session ,这破坏了防伪 token 。如果您尝试使用两个浏览器(IE、Firefox、Chrome)而不是同一浏览器的两个选项卡或窗口,它应该可以正常工作。

关于c# - 获取 Html.AntiForgeryToken 会引发错误 "Server cannot modify cookies after HTTP headers have been sent",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32487816/

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