是否可以在Web窗体应用程序中为Cookie设置最大年龄?我知道,这是设置过期的okey,但是有没有设置Max Age的方法?Web形式中的Cookie最大年龄
1
A
回答
0
Asp.Net没有明确规定这个属性上的HttpCookie,可能是因为他们是非常微软为中心的,而IE不支持max-age的(如至少,作为IE11的)
但是,仍然可以做到这一点。下面是一些代码演示正确的和无效的方式来设置此cookie最大年龄:
// doesn't work:
var mytestcookie = new HttpCookie("regular_httpcookie", "01");
mytestcookie.Values.Add("max-age", "300");
Response.Cookies.Add(mytestcookie);
// *does* work:
Response.Headers.Add("set-cookie", "testingmaxage=01;max-age=300; path=/");
它呈现这样的HTTP响应:
Set-Cookie testingmaxage=01;max-age=300; path=/
X-AspNet-Version 4.0.30319
Set-Cookie regular_httpcookie=01&max-age=300; expires=Fri, 10-Jun-2016 15:02:15 GMT; path=/
正如你可以在上面看到,如果你是也使用HttpCookie设置Cookie,这将在响应中创建第二个“set-cookie”头,但浏览器不会介意,它只会将其添加到cookie列表中。
我对IE11和Chrome进行了测试,这是一个非问题 - 只要它们有不同的名称,cookies就会全部进入。 如果的cookie名称与已经在HttpCookies中设置的cookie名称冲突,这是最后一次获胜。查看您的HTTP响应文本以查看哪一个进入最后。 (尽量确保它们不冲突)
正如我在开始时提到的,在测试IE11时,我注意到它忽略了cookie的max-age属性。以下是解决该问题的方法的链接: Set-Cookie: Expire property, clock skew and Internet Explorer issue
相关问题
- 1. codeigniter年龄形式
- 2. 选择最大年龄C#
- 3. 删除具有过期/最大年龄段的cookie
- 4. 最大年龄必须大于最小年龄通过使用jquery
- 5. 获取年龄=无穷大,同时试图获得最小和最大年龄
- 6. 动态设置会话cookie最大年龄
- 7. jQuery Cookie年龄验证?
- 8. 数据注释,不显眼的验证。最小年龄,最大年龄
- 9. 最大年龄和304不变形处理
- 10. Express未设置最大年龄头
- 11. 显示姓名和年龄最大
- 12. 最大年龄与nginx /乘客/ memcached/rails2.3.5
- 13. 使用最大年龄请求标头
- 14. 缓存控制:最大年龄设置
- 15. 刚开误差最大年龄表
- 16. 年龄格式 - 年和月
- 17. 关于年龄验证的Cookie法
- 18. 过期,最大年龄和共享最大年龄之间的区别是什么?
- 19. Grails:JAWR插件设置20年的最大年龄标头
- 20. 删除年龄大于特定年龄的文件夹
- 21. 在SQL中计算年龄年龄
- 22. 年龄最佳算法?
- 23. 签署请求中的最小年龄
- 24. 选择查询 - 获取两个年龄最小和最大年龄之间的所有数据
- 25. 如何使用datepicker设置最小最大年龄限制android
- 26. 光油3 - 如何在http标题中设置最大年龄
- 27. 在HTTP标头中设置过期日期或最大年龄
- 28. 整蛊 - 最喜欢的年龄组中使用lambda表达式
- 29. 与Tomcat和最大年龄指令的Apache mod_cache的配置
- 30. PHP指定的Cache-Control导致双最大年龄
我不确定它们有什么区别。 – wazz
Max Age是什么意思?这个术语通常与缓存相关。 – wazz
@wazz cookies也可以具有此属性,并且在服务器和客户端上的时间不同时这很有用,因为在max-age的情况下,与expire不同,它们的到期日期将与客户端时间无关 –