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

Creating a custom cookie with a custom name in ASP.NET Core 3.1

在 ASP.NET 框架中,可以在构造函数中使用自定义名称定义自定义 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);

似乎无法设置 cookie 的 "name",因为 CookieOptions class.

中没有定义选项

ASP.NET - 多值 cookie 兼容性

customCookie["key"] = "value";

Values属性的快捷方式。相当于

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

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

ASP.NET 核心 cookie - 没有内置多值 cookie 的兼容性

ASP.NET Core 删除了对旧的遗留多值 cookie 的支持,因为此功能从未标准化。为什么不支持它的更多信息是 。 link 在 ASP.NET Core 中也有一个很好的多值 cookie 扩展。

这一行

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

向 HTTP 响应添加一个 cookie,并将新 cookie 的名称设置为 "key",并将其值设置为 "value"。