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 –