asp.net - 在 Firefox 中使用 window.open 等效项会导致 .NET 会话变量消失。为什么?我该如何解决?
问题描述
我有一个在带有 .NET 中间层的 Adobe/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 在内的任何浏览器上都没有出现在该环境中。
这让我相信 Adobe Flex (Flash) 有点搞砸了。
解决方案
推荐阅读
- java - Kotlin/Mockito:如何从 kotlin.Annotation 模拟“annotationClass”
- tensorflow - 如何训练 CNN 从标记的图像中学习边界框?
- vue.js - nuxt.config.js 在哪里构建模块仅在开发模式下构建?
- r - 如何将使用 with(plot()) 绘制的绘图保存到 R 中的变量中?
- r - 使用 full_join 合并两个以上数据帧时的后缀
- python - Beautifulsoup 无法在表中获得“tr”
- python - 对数据框进行行迭代以计算值并将它们添加到新列
- http - 我在 Qualtrics 中为“网络服务”使用什么服务?
- python - 当 keras 变量发生变化时执行预计算
- javascript - 我在服务器中安全地使用 eval() 吗?