我有这个flash / flex应用程序并且URLRequest
调用问题。当呼叫服务器时我得到的内容很好。之后,内容存储在缓存中,下次URLRequest使用本地缓存来检索它。 有时可行,但有时通话永远不会完成 - 保持待审。我正在使用最新的Flash播放器和不同的浏览器。在我的计算机上,我可以使用chrome复制问题,同事可以在firefox上复制。我看过flash播放器日志文件,当呼叫成功并且呼叫保持待定时没有什么不同......
在将Flash播放器升级到最新版本之前,我的朋友也无法复制此问题。
我认为这不是服务器端问题,因为网络服务器日志说在发布问题时没有请求,谷歌浏览器中的网络工具确认该时间请求正在使用本地缓存。
目前我通过强制客户端不使用缓存使用到期日期和无缓存来解决这个问题,但我想使用缓存,我想了解为什么会发生这种情况。
非常感谢!
责任代码:
loader = new utils.URLLoader();
loader.dataFormat = flash.net.URLLoaderDataFormat.BINARY;
loader.addEventListener(flash.events.Event.COMPLETE, this.onLoad);
loader.addEventListener(flash.events.IOErrorEvent.IO_ERROR, this.onErr);
loader.load(new flash.net.URLRequest(URL));
更新
现在我发现缓存不适用于它。我每次都在请求之前清理了缓存,但仍然可以重现此错误。 GET请求仍然显示为挂起,但这次我运行wireshark运行,显示有趣的结果 - 困难的GET请求未记录在wireshark中。怎么可能呢?
答案 0 :(得分:0)
请务必听取URLLoader可能发送的所有错误:URLLoader's Adobe LiveDoc
如果你没有处于调试模式,可能会抛出一些错误但是没有被捕获,因此保持沉默。
答案 1 :(得分:0)
在嵌入swf的.html包装器代码中,尝试将allowScriptAccess =“sameDomain”更改为allowScriptAccess =“always”。它出现了两次。