IIS parece permitir un máximo de una llamada simultánea al servicio web WCF por cliente

IIS parece permitir un máximo de una llamada simultánea al servicio web WCF por cliente

Tenemos una aplicación de Windows que llama a métodos de servicio web para acceder a la base de datos. Hemos encontrado un caso en el que realizamos una llamada de servicio web asincrónica larga (más de 15 segundos) a un servicio WCF en IIS. Si la interfaz de usuario realiza otras llamadas de servicio web de bloqueo (es un código antiguo) mientras eso sucede, esas llamadas adicionales se bloquean hasta que se completa la llamada asíncrona inicial.

Esto no sucede cuando la interfaz de usuario y los servicios web se ejecutan en Visual Studio con IIS Express: las llamadas de bloqueo son rápidas y todo eso se completa mucho antes de que finalice la llamada asíncrona larga.

Todos los servicios web tienen lo siguiente:

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

Además, maxConnections="500" en todas partes.

Nos gustaría que IIS maneje estas llamadas simultáneas a servicios web de la misma manera que lo hace IIS Express, simultáneamente.

...

Si ayuda, todo esto tiene sentido: hacemos una búsqueda de objetos. La búsqueda devuelve los 50 elementos principales (de forma predeterminada) que cumplen con los criterios y, al mismo tiempo, realizamos una llamada asincrónica a count(*) en la misma consulta. La consulta de recuento puede tardar mucho tiempo. Los usuarios insisten en que a veces quieren saber cuál es el recuento total, pero normalmente quieren poder abrir objetos en la lista de resultados mucho antes de que vuelva el recuento. Al abrir los objetos es donde entran las llamadas al servicio web sincrónico. Anteriormente, los resultados de la búsqueda y el recuento formaban parte del mismo método de servicio web.

información relacionada