>Hi Paul,
>we are thinking about using streaming for our gets of data. The problem I am having is that occassionally I get a system.out of memory exception failed to allocate a managed buffer of ... bytes. The service is currently being hosted in iis 5.1. This hosting option was configured by using the mm.net template. How can I ensure that streaming is actually working because my client waits several minutes before displaying data. The protocol in use is basic http. If you wish we can continue this discussion via email at
rwatson@ogleveeltd.com.
I don't really have any experience using streaming in WCF so I don't know that I'd be all that helpful with specifics. However, one thing about WCF is that the default settings are horrible - I've found that almost every default setting is no where near what is needed for a real application; stuff seems to work during testing but as soon as you pass some real data is starts falling down. Specifically, take a look at (must be set on both the server and the client):
MaxBufferSize
MaxReceivedMessageSize
MaxStringContentLength
Here's a sample of part of one of my config files for WCF:
<bindings>
<nettcpbinding>
<binding name="StandardServerBinding" maxbuffersize="8192000"
maxreceivedmessagesize="8192000" listenbacklog="5000" maxconnections="1000">
<readerquotas maxdepth="24" maxstringcontentlength="8192000" maxarraylength="8192000"
maxbytesperread="8192000" maxnametablecharcount="8192000" />
<reliablesession inactivitytimeout="01:00:00" />
</binding>
</nettcpbinding>
</bindings>
<behaviors>
<servicebehaviors>
<behavior name="RegisterBehavior">
<servicedebug includeexceptiondetailinfaults="true" />
<servicemetadata />
<servicethrottling maxconcurrentcalls="48" maxconcurrentsessions="5000"
maxconcurrentinstances="5000" />
</behavior>
<behavior name="ThrottlingBehavior">
<servicethrottling maxconcurrentcalls="48" maxconcurrentsessions="5000"
maxconcurrentinstances="5000" />
</behavior>
</servicebehaviors>
</behaviors>