Jef*_*eff 2 c# asp.net session .net-3.5
我们有一个搜索结果页面,用户可以通过多种方式点击.90%的方式将设置"搜索条件"会话对象,结果页面将使用该对象来检索搜索结果.
当找不到会话对象时,我们通常会向用户显示"无效搜索"消息,并为他们提供指向主搜索页面的链接.
例外情况是用户点击具有搜索结果页面的网页作为其默认页面(我们使用.NET的主题为我们的网站提供私有标签,使用我们的关联公司的颜色和徽标进行外观设计).如果搜索结果页面是站点的默认页面,则在没有会话条件时会执行特殊搜索.
这在我们的测试中工作得相当好,但是我们想要处理一个边缘情况:当某人在搜索结果页面(来自搜索页面)时会话到期,然后他们点击下一页结果,他们将获得此特殊搜索,而不是"过期会话"消息.
这是我们使用的基本格式,其中searchCriteria是从session设置的.
if (searchCriteria == null)
{
if (/*Check if this is the default url for this site*/)
{
//Preform special search
}
else
{
//Display 'session expired message'
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法我们可以检查内部if块中的Session,看看用户的会话是否因为现有的到期而是新的?或者浏览器是否会在会话过期时丢弃会话cookie?
是否存在浏览器差异?有人将过期的会话cookie返回给服务器,而其他人在过期时删除它们吗?还是一致的?
归档时间: |
|
查看次数: |
3431 次 |
最近记录: |