2012-08-26 65 views
0

使用flex遠程對象時,是否有辦法查看從服務器接收的原始數據,例如字符串?Flex - RemoteObject - 如何查看收到的原始數據?

我在我的代碼中設置了一個faultHandler,偶爾會看到錯誤,但flex中的錯誤描述非常模糊。例如,它可能會顯示「交付疑問」或類似內容。

我只是想知道我是否從服務器收到任何數據,理想情況是什麼。可能如果我有一個服務器端錯誤,我可以在我的客戶端日誌中看到它。

請注意,這些故障不容易重現,並且我熟悉sniffer,如fiddler。問題是最終用戶偶爾會遇到一個我追蹤的錯誤,但我希望能夠獲得更多信息來找出原因。

回答

1

當使用flex遠程對象時,有沒有辦法查看從服務器收到的原始數據 ,例如字符串?

是的,通常我會使用ServiceCapture來執行此操作。查爾斯是另一種選擇;而且Flash Builder甚至具有內置在IDE中的一些網絡監視器功能。我看到你提到了Fiddler,我認爲它與其他工具類似。

我從來沒有見過一個故障處理程序給出信息「交付疑問」。如果您在調試模式下停止您的代碼;您可以在您的故障處理程序中放置手錶並查看故障事件。從那裏你應該能夠深入到實際的錯誤。 FaultEvent應該給你你需要知道的一切。

你可以試試看看FaultEvent。 faultcontent爲實際返回的文本。

+0

我的問題是,當我調試的情況很少發生。例如,它可能會在最終用戶(20多個用戶)的24小時內發生幾次。因此,我不太可能會重複該問題以便能夠嗅探它或使用flex來追蹤它。 –

+1

@ScottSzretter也許是你正在尋找的[全局錯誤處理](http://www.adobe.com/devnet/flex/articles/global-exception-handling.html)? – RIAstar

+0

很少發生;或從未發生?如果你有時可以複製它;你最好比我們大多數人調試用戶的錯誤。沒有理由不能「捕捉」請求的內容;正如我在我的文章中所說的那樣,並且對它做了某些事情,比如將其展示給用戶或以某種方式將其捕獲到日誌中;或將它發送到不同的服務,以便將結果通過電子郵件發送給您.. – JeffryHouser

0

你可以嘗試這樣的:

private function handleFault(e:FaultEvent):void 
{ 
    trace(ObjectUtil.toString(e.fault.content)); 
} 
相關問題