2010-09-28 41 views
0

我有一個wcf服務被Silverlight應用程序使用。我們使用服務來獲得地理數據回:Silverlight WCF服務超時(即使在傳遞一個項目時)

  1. 的點(由一個X和Y雙)
  2. 表示爲列表的形狀>

我們的一個服務方法返回一個包含「Object ItemData」屬性的「Items」的集合。根據我們從數據庫獲得的數據,ItemData屬性被設置爲點或列表>

由於某種原因,我們能夠在任何時候獲得單點對象,我嘗試通過列表>服務時間出。我們最大限度地在配置中沒有修復任何東西的緩衝區。我改變了服務只返回列表中的一個項目,它仍然會拋出錯誤。儘可能將列表轉換爲使用數組,而沒有運氣。

關於可能發生什麼的任何想法?我沒有在WCF服務中看到任何異常。提琴手也沒有太多的幫助: - \

回答

0

解決方案結果很簡單。必須在ServiceContract中指定其他已知類型。

在我的經理建議我們通過DataContractSerializor手動傳遞我們的返回值後,最終解決了這個問題。找到PITA錯誤,但希望這有助於某人。

0

您是否更改過WCF服務的sendTimout屬性?

你可以調試服務嗎?也許它是失敗的。您可以將服務行爲修改爲includeExceptionDetalInFaults。

你可以在服務器上運行一個shell程序來執行獲取List用例並查看它是否成功完成。

你從小提琴手那裏得到什麼?它會返回任何東西嗎?

+0

我可以調試服務。它執行得很好,我到達了return語句。我在身體上添加了一個try catch,並且在返回之前沒有發現任何異常,所以它會顯示在那裏。我只能在提琴手中看到的是來自Silverlight的服務請求調用,沒有任何迴應。 – 2010-09-28 17:41:08

+0

嘗試讓合約返回,就像列表中的第一個值(一個實數值類型,如int或double)。也許WCF不喜歡你的返回類型? – 2010-09-28 18:11:08

+0

你的解決方案是我暗示在改變返回類型,FYI – 2010-09-29 19:18:01