Tengo un código bastante simple que carga una foto o video a un punto final (usando HTTP PUT o POST). De vez en cuando veo conexiones cerradas, excepciones lanzadas, y en realidad la foto/video fue cargada muy bien, está llamando a GetResponse donde ocurre la excepción.¿Por qué bloquea HttpWebRequest GetResponse durante tanto tiempo?
Una cosa que he notado es que GetResponse puede tardar muchísimo tiempo en procesarse. A menudo es más largo que el tiempo de carga real de la foto en el servidor. Mi código escribe en el servidor web usando RequestStream.Write.
Hice una pequeña prueba y subí alrededor de 40 fotos/videos al servidor que varían en tamaño de 1MB a 85MB y el tiempo para devolver GetResponse fue de 3 a 40 segundos.
Mi pregunta es, ¿es esto normal? ¿Es solo cuestión de cuánto tardará el servidor al que estoy cargando estos archivos para procesar mi solicitud y responder? Al observar las huellas HTTP de Fidder, parece ser el caso.
FYI, mis subidas son HTTP 1.0, los valores de tiempo de espera ajustado infinito (tanto en tiempo de espera y ReadWriteTimeout)
Omar: Si hace clic en una sesión de Fiddler y elegir "Propiedades", se puede ver la colección de temporizadores para esa sesión.Dos valores interesantes son "ServerGotRequest" y "ServerBeginResponse". ¿Cuál es el delta entre esos? – EricLaw