0

I have a SL application that is linked to a WCF service. The WCF service retrieves data from a SQL server db. Both Silverlight and WCF use BinaryEncoding to encode SOAP messages.

The WCF sends to the client a lot of data by means of method OperationContract GetAllData(). GetAllData() returns a list of ComplexData elements. The number of elements inside the list could be large. The decrease on performance stars since 3 or 4 elements. Each ComplexData object is tagged as DataContract and contains a lot of DataMember properties (about 30). These properties are of type int, boolean, string, enum and list.

Since GetAllData() goes in timeout, I would like to know how it is possible to find the bottleneck of such architecture. In particular, what are the instruments or the tricks that I could use to proceed?

Thank you in advance.

1
  • Why not introduce things like paging to whatever list you might have, preventing loading too big data chunks? Commented Oct 22, 2011 at 14:56

1 Answer 1

1

If you're getting a timeout exception on the client, the bottleneck is likely the code that is creating/fetching your ComplexData objects, not WCF which is simply serializing them.

Sign up to request clarification or add additional context in comments.

2 Comments

Thank you for your reply. I think so too. So, do you think the only way could be to optimize the methods to fetch/create data retrieved from the db? How is it possible to monitor performance in WCF service in this phase (fetch and create phase I mean)? Thank you.
I'm not much of an expert on the server side, but you could check out strategies for profiling ASP.NET apps: msdn.microsoft.com/en-us/library/3xxk09t8%28v=vs.71%29.aspx

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.