Domanda

Sto rivedendo alcuni codici legacy e ho trovato un bug che causa la permanenza indefinita della risposta.

Ecco l'idea di base:

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()

Il problema è che someStoredLength è molto più grande della dimensione effettiva di someByteArray, quindi il client rimane seduto in attesa del download del file mentre il browser gira.

Sto pensando di rimuovere solo AddHeader che specifica la lunghezza del contenuto, perché quando lo faccio sembra che tutto funzioni correttamente, ma sono preoccupato di non capire qualcosa.

Va ??bene per me rimuovere questo AddHeader o dovrei trovare un modo migliore per affrontare questo problema?

È stato utile?

Soluzione

Modifica la riga Lunghezza contenuto in quanto segue:

Response.AddHeader("Content-Length", someByteArray.Length.ToString())

Altri suggerimenti

La tua applicazione DOVREBBE (scorrere fino alla lunghezza del contenuto), tuttavia, non è strettamente necessario.

Ecco un discussione decente sulle possibili opzioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top