我的Flex应用程序在启动时发送一些共享请求。有时需要花费很多时间来获取它们,所以我将它们设置为requestTimeout
param至5秒。另外,我定义了一个处理故障事件的方法。我想在发生超时时重新发送请求。 虽然它不工作。你能看看代码吗?Flex HTTPService超时处理程序
protected function fatalErrorOccuredInfo(event:FaultEvent):void
{
// get the operation
var operation:mx.rpc.http.AbstractOperation = mx.rpc.http.AbstractOperation(event.target);
operation.url += "?t=" + new Date().getTime();
operation.useProxy = false;
//this should resend a request that caused timeout
operation.send();
}
我检查新的请求是否在网络监视器发送,但它并没有显示任何东西:-(
任何帮助将非常感激。
嗯。我不认为我需要它,因为在这种情况下操作不为空,所以我使AbstractOperation充满了我需要的所有数据。此外,我没有得到任何错误(空指针或某事)。它只是不发送请求。你认为你的解决方案会采取不同的行动? – 2011-05-15 11:35:47
您是否尝试过为测试目的调用不同的Web服务?如果'操作'不为空,那么它应该工作。你有没有放置一个断点,看看'operation.send()'是否被实际执行? :) – 2011-05-15 11:38:56
我还没有尝试过不同的web服务,但我已经做了一些调试,并且operation.send()实际上是执行的。我甚至把Alert.show()放在下一行,它总是出现。总结,它应该工作,但它不。废话。 – 2011-05-15 11:42:09