在ASP.NET Core 3.1中创建具有自定义名称的自定义Cookie

时间:2020-05-01 13:18:32

标签: c# asp.net-core asp.net-core-3.1

在ASP.NET Framework中,可以在构造函数中使用自定义名称定义自定义cookie,如下所示:

HttpCookie customCookie = new HttpCookie("name");
customCookie.Expires = DateTime.Now.AddMinutes(10);
customCookie["key"] = "value";
context.Response.Cookies.Add(customCookie);

在ASP.NET Core中,方法已更改为类似以下内容:

CookieOptions cookieOptions = new CookieOptions();
cookieOptions.Expires = DateTime.Now.AddMinutes(10);
context.Response.Cookies.Append("key", "value", cookieOptions);

由于CookieOptions类中未定义任何选项,因此似乎无法设置cookie的“名称”。

1 个答案:

答案 0 :(得分:1)

ASP.NET-多值Cookie兼容性

customCookie["key"] = "value";

Values属性的快捷方式。等同于

customCookie.Values["key"] = "value";

此属性允许使用多值cookie,并且提供该属性是为了与Active Server Pages(ASP)的早期版本兼容。

ASP.NET Core cookie-不具有与多值cookie的内置兼容性

ASP.NET Core删除了对旧的旧式多值Cookie的支持,因为该功能从未标准化。 here是为什么不支持它的更多信息。该链接还可以很好地扩展ASP.NET Core中的多值cookie。

此行

context.Response.Cookies.Append("key", "value", cookieOptions);

在HTTP响应中添加cookie,并将新cookie的名称设置为“ key”,并将其值设置为“ value”。