0

We have a windows application which calls webservice methods for database access. We've found a case where we make a long (15+ seconds), asynchronous webservice call to a WCF service on IIS. If the UI makes other, blocking (it's old code), webservice calls while that's going on, those additional calls block until after the initial async call completes.

This does not happen when the UI and the webservices are both running in Visual Studio with IIS Express: The blocking calls are quick, and all of that stuff completes long before the long async call finishes.

The webservices all have the following:

<serviceThrottling 
    maxConcurrentCalls="5000" maxConcurrentSessions="5000" maxConcurrentInstances="5000" />

Also, maxConnections="500" everywhere.

We would like to make IIS handle these concurrent webservice calls the same way IIS Express does, concurrently.

...

If it helps this all make sense: We do a search for objects. The search returns the top 50 (by default) items that meet the criteria, and at the same time we do an asynchronous call for count(*) on the same query. The count query can take a very long time. The users insist that sometimes they want to know what the total count is, but they usually want to be able to open objects in the results list long before the count comes back. Opening the objects is where the synchronous webservice calls come in. Formerly, the search results and the count were all part of the same webservice method.

  • Enable WCF tracing in both cases (IIS Express/IIS), https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/tracing/configuring-tracing and then you should be able to see clearly what's wrong. – Lex Li Aug 31 '21 at 21:51
  • @LexLi Thanks, Lex. I'll do that. – Ed J. Plunkett Sep 01 '21 at 13:02
  • @LexLi Is there any particular information in there that you think might be helpful in identifying the cause of this issue? – Ed J. Plunkett Sep 02 '21 at 13:01
  • Escalate to a developer of that web app and he/she knows how to analyze. There are several examples in https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/tracing/using-tracing-to-troubleshoot-your-application – Lex Li Sep 03 '21 at 00:56
  • @LexLi "Ask somebody who knows"? That was the idea behind posting a question here, actually. – Ed J. Plunkett Sep 03 '21 at 15:12
  • You can review existing questions to see what kinds are more likely to be answered. Analyzing WCF issues requires access to the tracing log and various other logs (any of them can contain confidential information), and the possible error patterns are too many to be summarized in a short enough answer. That nature makes such questions difficult (if not impossible) to be discussed over the internet. – Lex Li Sep 03 '21 at 15:57
  • @lexli Well, this is the question I’ve got. – Ed J. Plunkett Sep 04 '21 at 16:41

0 Answers0