Estoy revisando algún código heredado y he encontrado un error que provoca que la respuesta permanezca indefinidamente.¿Es necesario establecer Content-Length en mi encabezado de respuesta?
Aquí es la idea básica:
Response.Content-Type = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename" & someFileName)
Response.AddHeader("Content-Length", someStoredLength)
Response.BinaryWrite(someByteArray)
Response.Flush()
Response.End()
El problema es que someStoredLength es mucho más grande que el tamaño real de someByteArray, por lo que el cliente sólo se sienta allí esperando la descarga del archivo, mientras que el browser gira.
Estoy considerando eliminar AddHeader que especifica la longitud del contenido, porque cuando lo hago todo parece funcionar bien, pero me preocupa no entender nada.
¿Puedo desinstalar esta AddHeader o debería encontrar una forma mejor de solucionar este problema?
¿Qué idioma es esto? ¿Qué clase es el objeto Response en el código anterior? – noctonura
@RichAmberale: Eso no es realmente relevante para la pregunta. El problema ocurre en el navegador debido a los encabezados HTTP. –
El código está en VB.NET pero podría encontrarlo en otros lugares donde el legado se hace en ASP clásico – Joseph