首页 > 解决方案 > 在 Firefox 中使用 window.open 等效项会导致 .NET 会话变量消失。为什么?我该如何解决?

问题描述

我有一个在带有 .NET 中间层的 Adob​​e/Apache Flex 中运行的应用程序。

要运行报告,我需要它们在单独的窗口中运行,所以我使用;

navigateToURL(url, "_blank");

这适用于除 Firefox (FF) 之外的所有浏览器(IE、Chrome 和 Edge)。该应用程序已经存在了很长一段时间,我无法想象它从未在 FF 中运行过,但在最近的几个版本中却没有。

症状是 .NET“Current.Session.SessionID”更改为原始浏览器窗口和新浏览器窗口的新 ID。当然,这会导致它丢失所有会话变量。

如果我使用“POST”将变量发送到弹出窗口,问题似乎只会显现出来。如果我使用“GET”一切正常。一个额外的“奖励”是发送到新窗口的“发布”参数消失。所以我的报告没有运行,并且原始窗口“由于会话 ID 更改而失去理智”。

作为测试,我将蜘蛛网掸掉并创建了两个 ASPX 页面

 <form method="post" name="TestForm" action="TestWopen2.aspx" target="_blank">

该问题在包括 FF 在内的任何浏览器上都没有出现在该环境中。

这让我相信 Adob​​e Flex (Flash) 有点搞砸了。

标签: asp.netvb.netfirefoxapache-flexsession-cookies

解决方案


推荐阅读