在会话结束时或在特定时间过期cookie?

是否可以在会话结束时或特定时间使cookie过期?

是的! 这很简单

HttpCookie newCookie = new HttpCookie("myCookie"); newCookie.Expires = DateTime.Today.AddDays(1); 

如果您希望cookie用于会话,请将其设置为DateTime.MinValue 。 有关详细信息,请参阅此处的MSDN文档。 这是摘录:

将Expires属性设置为MinValue会使其成为会话Cookie,这是其默认值。

因为单个cookie无法实现这一点,所以我发送两个cookie。 auth cookie在会话结束时到期。 第二个cookie在特定时间到期。 在每个请求上,我检查第二个cookie,如果它是null,我手动登录用户。

您可以使用Expires and Max-Age属性控制cookie生存时间。 无论如何,如果会话已过期或您使其无效,则与此会话关联的cookie(例如jsessionId)将无效。