我正在使用Google AppEngine,與PyAMF一起提供RemoteObject支持。在我的Flex代碼中,我一次創建了多個RemoteObject方法調用,這往往會將AMF消息批量化爲單個HTTP請求。如何防止RemoteObject將AMF消息集中在一起?
大多數情況下,這很好,但AppEngine會對每個請求限制應用一些嚴格的限制(在這種情況下,我正在觸發DeadlineExceededError - 最多30秒)。預計許多服務方法需要10秒以上的時間,並且如果這些方法通過RemoteObject分配到1個HTTP中,您可以看到這是怎麼回事。
現在你可以說重構你的服務調用,這也正在進行,但不是真的在這裏問的問題。有沒有辦法阻止Flex RemoteObject對這種情況的AMF請求進行批處理?
我已經做了相當多的谷歌搜索這個問題,並拿出bupkis。在我看來,我需要實現一個自定義版本mx.messaging.channels.AMFChannel
或這種性質的東西,這似乎太硬核這樣的功能..
任何人有任何指針/見解?
看着這些文檔(並糾正我,如果我錯了)我的問題似乎有微妙的不同 - 我想確保通過RemoteObject發送的每個AMF消息發送一個HTTP請求(並且能夠無誤地進行多個呼叫)。 我挖通過Flex SDK,它似乎沒有看到Messaging RPC正在批量請求,這導致我認爲它發生在底層NetConnection中? – njoyce
是的。你是對的。 Flash Player等待幀結束以發送所有排隊的網絡請求。如果您將每個請求移動到不同的框架上(如使用callLater),那麼它將確保每個請求實際使用不同的HTTP網絡請求。 –
謝謝!這些信息足以讓我能夠將我的電話放入隊列並相應地錯開。 – njoyce