我在执行此服务30秒后收到错误
<s:HTTPService id="svcList" url="http://localhost/index.php" method="GET" result="svcList_resultHandler(event)" fault="svcList_faultHandler(event)" requestTimeout="300">
<s:request xmlns="">
<mod>module</mod>
<op>operation</op>
</s:request>
</s:HTTPService>
此操作花费的时间比平时长,所以我将php的最大执行时间更改为120秒。
当通过浏览器(即http://localhost/index.php?mod=module&op=operation
)请求脚本时,该脚本正确运行
我已经检查了错误事件对象的答案,并在faultDetailsError: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://localhost/index.php" errorID=2032]. URL: http://localhost/index.php
找到了答案
请求是否有执行时间限制?
编辑:已在使用requestTimeout
。
谢谢
3条答案
按热度按时间kuuvgm7e1#
好吧,在我的工作环境
(Flex SDK 4.1 - AIR 2.6)
中,简单地使用requestTimeout="xx"
不起作用我不知道为什么。但是设置一个非常全局的对象
URLRequestDefaults
属性idleTimeout
可以按我的需要工作。我的问题的解决方案是应用程序顶部的这个配置。
我相信这对某些人有帮助。
pzfprimi2#
尽管似乎假定请求超时不起作用。实际上是这样的。第一次。
在第一个请求之后,在
如果您必须更改超时,您将希望在那里更改。
若要查看特定的违规代码,请参阅AbstractOperation.getDirectChannelSet()。即使对于HTTPService的不同示例,它也会从:
_directChannelSet只示例化一次,并且其上的questTimeout只在创建时设置,所以即使您更改HTTPService上的questTimeout,它也不会反映在请求中。
yyyllmsg3#
您可以将http服务对象的请求时间设置为超时,这将按照TIN上的说明执行操作,但如果您想了解更多信息,请访问以下语言参考链接:
Http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/http/HTTPService.html#requestTimeout
下面是一个示例,说明它在超时120秒的代码片段中会是什么样子:
同样值得记住的是,如果您将此属性设置为零或更小,请求将根本不会超时(根据语言引用)。