0

我有一個鏈接到WCF服務的SL應用程序。 WCF服務從SQL服務器數據庫中檢索數據。 Silverlight和WCF都使用BinaryEncoding來編碼SOAP消息。Silverlight和WCF:爲大量數據優化性能的策略

WCF通過OperationContract GetAllData()方法向客戶端發送大量數據。 GetAllData()返回一個ComplexData元素的列表。列表中的元素數量可能很大。由於3或4個元素,性能下降。每個ComplexData對象都標記爲DataContract幷包含大量的DataMember屬性(約30)。這些屬性的類型爲int,布爾值,字符串,枚舉和列表。

由於GetAllData()進入超時狀態,我想知道如何找到這種體系結構的瓶頸。特別是,我可以使用哪些工具或技巧來繼續?

預先感謝您。

+0

爲什麼不把分頁等事情介紹給你可能擁有的任何列表,防止加載太大的數據塊? –

回答

1

如果您在客戶端上遇到超時異常,則瓶頸可能是創建/獲取ComplexData對象的代碼,而不是WCF,它只是簡單地序列化它們。

+0

謝謝你的回覆。我也這麼認爲。所以,你認爲唯一的方法可能是優化方法來獲取/創建從數據庫檢索的數據?在這個階段如何監控WCF服務的性能(獲取和創建階段我的意思)?謝謝。 –

+1

我並不是服務器端的專家,但您可以查看分析ASP.NET應用程序的策略:http://msdn.microsoft.com/en-us/library/3xxk09t8%28v=vs.71 %29.aspx –