Background of the project: We have been working on Silverlight application which uses PollingDuplex channel for getting data from the web server(IIS7). The application gets data for every 500ms and updates onto the UI. We have 5 clients connected and at every second we have 20 updates flowing to Silverlight client application from server. Problem statement: It works fine for sometime but when the load on IIS increases or when there is a network flip, we see that the polling duplex channel starts buffering data and over period of time not all clients are showing same updates. When we check further we see that the channel has buffered more than 5 minutes data and it takes time to clear it. Binding details for the polling duplex channel are as shown below: <pollingDuplexHttpBinding> <binding name="UpdateServiceBinding" maxBufferSize="300000" maxBufferPoolSize="300000" maxReceivedMessageSize="300000" receiveTimeout="00:05:00" sendTimeout="01:00:00" openTimeout="00:01:00" inactivityTimeout="23:59:00" serverPollTimeout="00:01:00"> <readerQuotas maxDepth="64" maxStringContentLength="300000" maxArrayLength="300000" maxBytesPerRead="100000" maxNameTableCharCount="100000"/> </binding> </pollingDuplexHttpBinding> Throttling settings of service: <behavior name="RVSServiceBehavior"> <serviceMetadata httpGetEnabled="true"/> <serviceDebug includeExceptionDetailInFaults="true"/> <serviceThrottling maxConcurrentCalls="3000" maxConcurrentSessions="3000" maxConcurrentInstances="3000"/> </behavior> Questions: 1. How can we ensure that the channel does not buffer data and just sends the latest always? 2. How can we optimize the IIS for increase in load? Your help would be really appreciated.
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)