2010-02-16 64 views

回答

1
+0

1,因爲我不知道該機制。 –

+0

這是關於錯誤處理,而不是診斷。在我的情況下,服務器端沒有例外(至少在我的服務方法中)。 .svclog不包含錯誤(儘管它已損壞)(TraceViewer在打開時顯示'意外的文件結束')。所以我想在客戶端找到比'找不到'更有用的東西。 – UserControl

1

如果你得到一個「Not Found」錯誤最可能的原因是跨域訪問政策。我用來嘗試診斷這些問題的是Fiddler2,並查看原始流量。

+0

謝謝!嘗試了Fiddler,只得到「ReadResponse()失敗:服務器沒有返回此請求的響應。」但是,我的問題是,當我與當地的項目玩時,不能跨越多巴達進入。我懷疑序列化問題導致異常發生,不知何故與我的數據庫中的結果集相關。 – UserControl

0

你是肯定你的WCF服務在通話中沒有錯誤嗎?如果服務器端出現問題,則返回的消息將是HTTP狀態碼500.由於安全限制,瀏覽器不會將任何非200消息傳遞迴silverlight插件,導致silverlight拋出經典的CommunicationException「遠程服務器返回一個錯誤:NotFound。「

對於使用WCF行爲將故障中的HTTP狀態代碼從500更改爲200,以便silverlight實際上可以訪問錯誤的詳細信息,有一些非常有用的解決方法。這裏更多的信息:

http://msdn.microsoft.com/en-us/library/dd470096(VS.95).aspx

http://www.netfxharmonics.com/2009/07/Understanding-WCF-Faults-in-Silverlight-3

+0

我敢肯定,我的方法不會引發異常(方法的右大括號中的斷點被命中)。無論如何,這兩個鏈接都沒有幫助。第一個完全破壞了服務,第二個沒有工作(並且我確實在主機激活時應用了HttpStatusCode200Behavior)。 – UserControl