创建或修改httpcookie后,我是否必须将其添加到response.cookies集合中? (如果是的话,只有当它是一个新的cookie或者我正在修改它时)
答案 0 :(得分:1)
如果它是新的,则需要将其添加到要存储的Response.Cookies集合中,但您可以像数组一样访问该集合。
Response.Cookies["foo"] = myCookie;
这将照顾您的添加。仅供参考,如果尚未创建cookie,则该值将返回null。
但是,如果你引用这样的集合,cookie将会更新:
HttpCookie myCookie = Response.Cookies["foo"];
对myCookie的任何修改都将对集合中的cookie进行,因为在C#中,当您将变量分配给现有的类对象时,该对象将通过引用进行处理并进行修改。
答案 1 :(得分:1)
如果您没有向Response.Cookies集合添加cookie,它将永远不会发送到浏览器。但是,一旦将cookie添加到集合中,您可以根据需要修改它,并设置的最后一个值是将发送到浏览器的值。您要添加到集合中的是对HttpCookie对象的引用,并且在请求生命周期结束之前,cookie不会发送到浏览器。