ASP .NET在页面之间丢失会话

时间:2011-04-20 17:55:31

标签: c# asp.net flash session session-variables

我遇到了一个奇怪的错误,我在页面之间移动时丢失了会话。

我只是弄清楚为什么会这样,但可以弄清楚如何解决它。

我丢失了会话,因为我使用Flash(swf)菜单在页面之间导航。

因此,当我使用Flash菜单导航到某个页面时,我会丢失会话。

有什么方法可以解决吗?

----------------------- EDIT ---------------------- < / p>

我不回答我自己的问题,所以答案是:

回答问题,但是问号不是闪光灯..

我刚发现会话已在http://WebSite.com/上打开 闪光灯正在重定向到http://www.WebSite.com/

因此会话在域之间丢失,而不是因为flash而在页面之间丢失:) 我刚刚让我的所有网站都使用了www域名。

谢谢, 丹

3 个答案:

答案 0 :(得分:1)

之所以发生这种情况,是因为Flash没有随请求一起发送ASP.NET cookie,所以ASP.NET不知道你在flash发出请求时是谁。

我认为浏览器会将Flash插件视为一个单独的实例,因此它拥有自己的会话。

以下是一些背景知识:

http://swfupload.org/forum/generaldiscussion/98

编辑:发现这个可能有帮助的问题:

Session is different if flash uploads photo to the aspx page

答案 1 :(得分:1)

回答问题,但是问号不是闪光灯..

我刚发现会话已在http://WebSite.com/上打开,并且Flash正在重定向到http://www.WebSite.com/

因此会话在域之间丢失,而不是因为闪存而在页面之间丢失:)我只是让我的所有站点都使用www域。

谢谢,Dan

答案 2 :(得分:0)

尝试使用fiddler2检查html标头,并在使用Flash菜单导航到新页面时查看身份验证令牌是否仍然相同。

http://www.fiddler2.com/fiddler2/