Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Large dataset updates and queries
Message
 
To
08/01/2009 07:36:02
General information
Forum:
ASP.NET
Category:
The Mere Mortals .NET Framework
Environment versions
Environment:
C# 3.0
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web Service
Miscellaneous
Thread ID:
01368654
Message ID:
01373168
Views:
32
>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>	
-Paul

RCS Solutions, Inc.
Blog
Twitter
Previous
Reply
Map
View

Click here to load this message in the networking platform