2009-08-25 8 views
1

HttpServiceインスタンスがタイムアウトしたかどうかを確認するにはどうすればよいですか?ありがとう!HttpService requestTimeout

答えて

2

requestTimeoutを設定すると、要求がタイムアウトするとフォールトが発生します。したがって、httpservice faulteventにイベントリスナーを追加するだけで済みます。あなたはhttp.requestTimeout方法を設定した場合

+0

のrequestTimeout値は、ちょうどアプリケーションがあることを知らせます与えられた時間の経過。しかし、接続のアボートタイムアウトが終了するまで、要求はまだ生きています。私のブラウザでは2分45秒です。 – serkan

3

はHTTPServiceの...

のこの魅力的な制限に注意してください、それは静かにあなたがPOSTリクエストすることを求め、任意およびすべてのヘッダを破棄事実を無視します。

何らかの理由で、Flexでは、GETがすべてのヘッダーをダンプします。

var http:HTTPService = new HTTPService() 
http = new HTTPService(); 
http.method = "POST"; 
http.addEventListener(ResultEvent.RESULT, result*emphasized text*Handler); 
http.addEventListener(FaultEvent.FAULT, resultHandler); 
http.url = "http://www.example.com/post; 

//http.requestTimeout = 5; //Watch out for this, there go the headers... 

http.method = "POST"; 
http.send(); 

ああ、二回方法=「POST」を設定すること)デバッガでそれを実行した場合、それは最後の行、http.send(に来るとき、あっても笑えるされ何、意図的だった、とあなたが見てオブジェクトの内部状態では、まだPOST要求に設定されています...

Muppets。 Flexの4.5のよう

0

(おそらくそれ以前)タイムアウトエラーの障害イベントの特定のフォルトコードがあります:あなたのフォルトハンドラで

if(faultEvent.fault.faultCode == "Client.Error.RequestTimeout"){ 
    trace("TIMEOUT ERROR"); 
} 
関連する問題