gpt4 book ai didi

ios - iOS 和 Chrome 上的 ASP.NET_SessionId cookie

转载 作者:行者123 更新时间:2023-11-29 03:27:49 26 4
gpt4 key购买 nike

我正在使用 HttpContext.Current.Session.IsNewSession 来决定在我的 MVC4 应用程序启动时显示哪个页面。

这在桌面、iOS safari 上效果很好。

但是在 iOS Chrome 上,每次我关闭浏览器(实际上关闭选项卡并从任务管理器关闭应用程序)并重新启动它时,IsNewSession 始终为 false。

我猜它使用 session cookie ASP.NET_SessionId 来跟踪它,因为当我关闭我的桌面或 safari 时有一个新的 cookie 值。

但是在 iOS Chrome 上,当我关闭并重新启动时,cookie 具有旧值 - 我猜这是问题的根源。

那么为什么 iOS/Chrome 不清除我的 ASP.NET_SessionId cookie,即使它应该是一个 session cookie 并在浏览器关闭时被删除。

谢谢。

最佳答案

我怀疑这是因为许多现代移动操作系统的设计功能,即应用程序不会在您想到时真正关闭。

通过桌面应用程序,您可以获得更多 screen real estate因此管理窗口和多任务变得更加容易。因此,当您使用完应用程序后,关闭应用程序感觉很自然且必要。

然而,对于移动应用程序,人们更加关注用户能够无缝地打开和在应用程序之间切换,因此关闭或最小化应用程序的概念被抽象出来并由操作系统处理。

这意味着当您关闭 Chrome 时,它​​并没有真正关闭(并且在您再次进入该应用之前可能根本不会关闭)。因此 session 永远不会被清除。

如果你force close应用程序然后您的功能将按预期工作。

对于您的问题,我无法想到优雅的解决方法。一种想法是存储用户上次事件的时间,如果它大于(例如)5 分钟,那么您可以向他们显示您的启动页面。

关于ios - iOS 和 Chrome 上的 ASP.NET_SessionId cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231572/

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