Safari会话总是在asp.net mvc 3中忘记会话变量

时间:2011-06-19 03:59:05

标签: asp.net-mvc-3 safari

我正在构建一个小型Web应用程序,在我的应用程序中,我使用会话对象来存储服务器调用信息。这在Firefox \ Chrome \ IE中运行得很好,但在Safari中似乎失败了。在Safari中,会话一直忘记我已将值存储在其中。

为什么会这样?可以做些什么?

4 个答案:

答案 0 :(得分:5)

会话基于存储在cookie中的id。服务器使用此Id链接到服务器上的会话。很可能饼干都在这里。加载提琴手或开启跟踪以查看正在发送的cookie ...您应该看到其中包含aspnetsessionid的那个,如果不是您的浏览器问题已关闭它们。

答案 1 :(得分:0)

您可能还想查看此处:Facebook API and Safari

看起来,如果您在建立Cookie时发送了任何重定向,它们将被视为第三方Cookie,并可能导致服务器端出现问题。

答案 2 :(得分:0)

如果Safari上的设置设置为不允许使用Cookie,则会失败。我在写一个iphone网络应用程序时遇到了同样的问题。我启用了cookie,一切正常。

答案 3 :(得分:-3)

Session的整个想法是值存储在服务器端。 Safari不可能导致服务器遗忘。该值未存储在会话中,或者Safari未能呈现会话值。

尝试使用调试器确认在将值传递给Session时以及当您尝试从Session中检索值时,Session是否保持正确的值。