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



在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);

似乎没有办法设置cookie的"名称",因为CookieOptions类中没有定义任何选项。

ASP.NET-多值cookie兼容性

线路

customCookie["key"] = "value";

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

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

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

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

ASP.NET Core删除了对旧的遗留多值cookie的支持,因为此功能从未标准化。此处提供了不支持它的更多信息。该链接还为ASP.NET Core中的多值cookie提供了一个很好的扩展。

这条线路

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

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

最新更新