在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"。