在ASP中创建多值cookie有几种不同的方法.净:

var cookie = new HttpCookie("MyCookie");
cookie["Information 1"] = "value 1";
cookie["Information 2"] = "value 2";

// first way
Response.Cookies.Add(cookie);

// second way
Response.AppendCookie(cookie);

// third way
Response.SetCookie(cookie);

我什么时候应该用哪种方式?我读过SetCookie方法更新cookie,如果它已经存在.其他方法不也会更新现有的cookie吗?

以下代码是编写单值cookie的最佳实践吗?

Response.Cookies["MyCookie"].Value = "value";

推荐答案

我什么时候应该用哪种方式?

这取决于你想做什么Cookie操作.

请注意,AddAppendCookie的功能是相同的,只是AppendCookie没有引用Response classCookies属性,而是为您执行.

  • Response.Cookies.Add-Adds将指定的cookie添加到cookie
  • Response.AppendCookie-Adds将HTTP cookie发送到 intrinsic Cookie集合
  • Response.SetCookie-Updates cookie中的现有cookie

添加重复的cookie或try 更新不存在的cookie时,不会抛出Exceptions.

这些方法中的主要exception种是:HttpException(A cookie is appended after the HTTP headers have been sent.)

Add方法允许Cookie集合中有重复的Cookie.使用Set方法确保Cookie集合中Cookie的唯一性.

谢谢你的MSDN美元!

Asp.net相关问答推荐

您如何处理多个环境的多个 web.config 文件?

某些黑客能否从用户那里窃取 Web 浏览器 cookie 并在网站上使用该名称登录?

self 跟踪实体与 POCO 实体

VS2013发布Web部署任务失败文件正在使用中

我可以在 Visual Studio 2010 中将任务列表项添加到 csHTML 吗?

在 cookie 中存储多个值

Devexpress 或 Telerik Controls 比较

asp.net cookie、身份验证和会话超时

在 ASP.NET 中将虚拟路径转换为实际 Web 路径

页面在谷歌浏览器中加载两次

如何在新选项卡中打开 asp:HyperLink.NavigateUrl

在 ASP.NET 中使用 Messenger Connect 客户端库时出现 Javascript 错误

在 ASP.NET 4.5 WebForms 中通过 bundle.config 与 BundleConfig.cs Bundle 资源

ASP.NET 中的全局资源与本地资源

如何在 ASP.net 中使用 wkhtmltopdf.exe

解析器错误消息:无法加载类型网络营销

使用 ASP.NET 进行重定向后获取

将对象传递给 HTML 属性

ASP.net 判断页面是 http 还是 https

在 Asp.Net MVC 5 中获取登录用户的用户 ID