Folks, I have a WCF service hosted in IIS that is called by an SL4 app to
send client files to the server. Years ago I updated various configuration
values to allow up to 20MB transfer. This is on the server side:
<binding name="Bind1" maxBufferSize="20971520"
maxReceivedMessageSize="20971520"
maxBufferPoolSize="20971520">
<readerQuotas maxArrayLength="131072" maxBytesPerRead="20971520"
maxDepth="20971520"
maxStringContentLength="20971520" maxNameTableCharCount="131072"/>
On the client side I set:
public const int MaxBufferSize = 20971520;
:
bind.MaxBufferSize = LaserMetrics.MaxBufferSize;
bind.MaxReceivedMessageSize = LaserMetrics.MaxBufferSize;
However I just reproduced a problem where a 7MB file is causing an exception
inside the WCF call. It dies on the WCF method asynch callback with this
error:
System.ServiceModel.CommunicationException occurred
Message=The remote server returned an error: NotFound.
There is nowhere I can break to find out what's going on, so I was wondering
if there is a trick to get more out of the underlying exception. There's
probably an obscure config settings I haven't found yet. I presume there is
some size related config option that I've missed somewhere, but where.
Perhaps I should use some sort of "streaming" technique between SL4 and the
service, but I've not needed it before and haven't read up on exactly how
it's done. I believe there is a way of sending a Stream that can be read in
chunks and allow progress reporting. Is that right? Anyone done it?
Cheers,
Greg