Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#SameSite旗帜问题_C#_Google Chrome_Httpcookie_Samesite - Fatal编程技术网

C#SameSite旗帜问题

C#SameSite旗帜问题,c#,google-chrome,httpcookie,samesite,C#,Google Chrome,Httpcookie,Samesite,由于Chrome将于2月4日从80版开始强制使用SameSite=None和安全标志,因此我尝试使用以下代码行在我的cookie中设置此标志: HttpCookie myCookie = new HttpCookie("XYZ"); myCookie.Value = newCookie; myCookie.SameSite = SameSiteMode.None; myCookie.Secure = true; myCookie.Expires = DateTime.Now.AddYears(2

由于Chrome将于2月4日从80版开始强制使用
SameSite=None
和安全标志,因此我尝试使用以下代码行在我的cookie中设置此标志:

HttpCookie myCookie = new HttpCookie("XYZ");
myCookie.Value = newCookie;
myCookie.SameSite = SameSiteMode.None;
myCookie.Secure = true;
myCookie.Expires = DateTime.Now.AddYears(2);
context.Response.Cookies.Add(myCookie); 
但这些属性不起作用。 即使在将.Net Framework版本升级到4.8之后,也不会为cookie设置所需的
SameSite=None
。 我面临的另一个奇怪的问题是,当我在web.config中使用以下行时,当从服务器的另一端请求时,会在cookie中正确设置标志:

<sessionState cookieSameSite="None" />
<httpCookies sameSite="None" requireSSL="true" />


但是,当我在负载平衡中的另一台服务器上进行相同的配置和发布时,它就不起作用了

有没有人知道如何在C#中直接设置这个东西


提前感谢您的帮助

您必须在2019年12月10日(或更晚)安装.NET Framework的累积更新。为您的Windows和.NET Framework版本找到适当的更新

如果没有更新,ASP.NET将永远不会向响应cookies添加SameSite=None属性


在更新过程中,如果您显式设置为SameSiteMode.None,或者在Web.config中设置了
属性,则ASP.NET将向响应cookies添加SameSite=None属性。更新还将ASP.NET表单身份验证和会话cookie的默认SameSite模式更改为Lax。若要将其更改回无,请在Web.config中设置
属性。

通过“不工作”您的意思是什么?响应的
Set Cookie
标题中有什么内容?您可以使用“但当我在负载平衡中的另一台服务器上进行相同配置并发布时,它不工作”中的指导进行检查,这听起来像是(a)负载平衡器正在与您的cookie头进行交互(这并非闻所未闻),或者(b)从LB提供内容的域与cookie的域不匹配。