Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Are you sure you need to transfer hundreds of thousands of records to client application? How client would view these records? Would these records be pre-processed / aggregated somehow, or just displayed in some grid? If preprocessed - consider doing preprocessing on server side. If just displayed - consider redesigning your interface to include paging:</p> <pre><code>IList&lt;RainRecord&gt; GetList(int startPage, int pageSize); </code></pre> <p>If paging is not an option, but you would still want to retrieve data in batches - you can implement manual batching by introducing state to your service (You would need to know who requested list, at which position you currently at, and how much data left to transfer):</p> <pre><code>public interface IService { Guid BeginGetList(); IList&lt;RainRecord&gt; GetNextBatch(Guid id); } </code></pre> <p>Empty list or null returned by GetNextBatch would indicate end of transfer. In other words, it is the same paging, but implemented using stateful service.</p> <p>Now, if transfering hundreds of thousands of records is absolutely neccessary, and must be done as one call - consider <a href="http://msdn.microsoft.com/en-us/library/ms733742.aspx" rel="nofollow noreferrer">using streaming to transfer your data</a>. But you would need to change your contract, to include Stream with serialized RainRecords.</p> <p>Another alternative would be to <a href="http://msdn.microsoft.com/en-us/library/ms731064.aspx" rel="nofollow noreferrer">implement duplex service</a>, which would pass callback to client, and when client has finished processing previous batch, it can request next. Downside of this is that as far as I know, WSDualHttpBinding is not supported by silverlight.</p> <p>With binding you attached, you would be limited to 2Gb per batch, which I believe is enough. Also you would probably need to tweak timeouts, <a href="https://stackoverflow.com/questions/1520283/wcf-service-how-to-increase-the-timeout">this post</a> describe all possible timeout values in great detail.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload