Tenemos un servicio web al que llamamos desde una aplicación Asp.Net.
La aplicación web, en su web.config, tiene estas entradas para controlar el timeout:
<httpRuntime executionTimeout="300" maxRequestLength="204800" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="45" />
El servicio tiene estas:
<httpRuntime executionTimeout="300" />
<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false" timeout="4320" />
La llamada al servicio se hace desde código visual basic, y ahí se vuelve a establecer el timeout de la llamada. Aquí a "0", para que no caduque nunca.
Sin embargo, siempre que el proceso sobrepasa los 60 segundos, se corta y prova un error:
System.Web.Services.Protocols.SoapException
El servidor no puede procesar la solicitud
La conexión ha terminado de forma inesperada
El mensaje equivalente, en inglés, es, "The connection was closed unexpectedly"
Los dos sitios web, tanto del servicio como de la aplicación, tienen también las opciones de timeout muy altas.
La llamada de la aplicaciòn al servicio, no pasa por ningún proxy.
Tanto la aplicación como el servicio se generan en modo Release, no Debug (lo que invalida los timeout)
¿ALGUNA IDEA? ¿ALGÚN PARÁMETRO MÁS DE CONFIGURACIÓN QUE PODAMOS USAR?