gpt4 book ai didi

c# - ASP.NET session - 如何判断 session 是由于过期还是首次访问而产生的新 session ?

转载 作者:行者123 更新时间:2023-12-03 22:45:09 29 4
gpt4 key购买 nike

我们有一个搜索结果页面,用户可以通过多种方式点击该页面。 90% 的方法都会设置一个“搜索条件” session 对象,结果页面将使用该对象来检索搜索结果。

当找不到 session 对象时,我们通常会向用户显示“无效搜索”消息,并为他们提供指向主搜索页面的链接。

异常(exception)情况是用户点击了将搜索结果页面作为默认页面的网页(我们使用 .NET 的主题为我们的网站提供私有(private)标签,并使用我们附属公司的颜色和 Logo 为其设置外观)。如果搜索结果页面是站点的默认页面,则在没有 session 条件时执行特殊搜索。

这在我们的测试中运行得相当好,但有一个我们想要处理的边缘情况:当有人在搜索结果页面(来自搜索页面)时 session 过期,然后他们点击结果的下一页,他们将获得此特殊搜索而不是“已过期 session ”消息。

这是我们使用的基本格式,其中 searchCriteria 从 session 中设置。

if (searchCriteria == null)
{
if (/*Check if this is the default url for this site*/)
{
//Preform special search
}
else
{
//Display 'session expired message'
}
}

有没有一种方法可以检查内部 if block 中的 Session 以查看用户的 session 是否由于现有 session 过期而新建?还是浏览器会在 session cookie 过期时将其丢弃?

浏览器有区别吗?是否有些将过期的 session cookie 返回给服务器,而其他的则在过期时删除它们?还是一致的?

最佳答案

这是一个很好的article这是基于 this one .我想你会在这里找到你的答案(具体是第二篇文章的第2页)

关于c# - ASP.NET session - 如何判断 session 是由于过期还是首次访问而产生的新 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/339116/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com