0

我在我的网站服务器上构建并运行了一个 http 处理程序。flex 中的代码生成一个 http 请求,然后导航到处理程序,该处理程序生成并流回文件信息以供用户下载。

基本上,该请求发送图像数据,返回结果是一个 pptx 流,其中包含 PowerPoint 幻灯片中的图像数据。

这在今天早上非常有效,直到大约一个小时前。我不知道发生了什么变化,但是我正在构建的每个尝试访问此处理程序的 swf 现在都给了我:

* 违反安全沙箱 *https://g1.localhost/Turm/BounceBack.aspx的连接停止 - 不允许从https://g1.localhost/Turm/FlashApps/ImageAndExporting.swf?debug=true

我什至完全限定了 BounceBack.aspx 名称(直到现在它还是一个相对 url),以防 Flash 播放器感到困惑,但正如您所见,url 请求和 swf 是从完全相同的域加载的(即使是Web 域中的相同虚拟应用程序)。

我什至在我的 Flash Player 安全设置中将物理文件路径添加为“受信任的文件夹”。

是什么赋予了?有人有什么建议吗?

使用 Apache 4.9.1 SDK 和最新版本的 flashplayer。如前所述,这在昨天和今天早上一整天都有效。我无法弄清楚发生了什么变化,但没有运气解决问题,源代码没有改变。

4

1 回答 1

2

终于知道发生了什么变化。我将导航到我的 ASPX 处理程序移动到一个单独的方法中,该方法将调用延迟到 UI 更新之后。因为我使用相同的 ui 组件进行打印和导出,所以我使用打印功能测试了更新,并且没有错误。后来,我注意到处理程序失败了。由于 url 请求未在 UI 交互事件(如 MouseEvent.CLICK)中处理,因此 Flash 播放器阻止了调用。一旦我将导航移回事件处理程序,沙箱违规就消失了。

如果你问我,由于遇到的实际问题,不是一个很好的错误信息,但是......你每天都学到一些东西。

于 2013-10-25T23:24:49.863 回答