Eu nem sei por onde começar isso, principalmente porque eu não posso nem mesmo determinar a raiz do problema - só posso encontrar sintomas.
Vou apenas descrever o que está ocorrendo, detalhes de diagnósticos e o que eu já fiz para tentar corrigi-lo na esperança de que alguém possa me livrar desse inferno, ou pelo menos me apontar para a saída.
Ocorre quando
<form>
) Sintomas
Usando o Rastreamento de Solicitações Falha do IIS Eu pude pegar algumas pistas.
Quando o arquivo POSTs com êxito é resultado imediato. O rastreio registra todas as leituras pelo servidor da solicitação enviada pelo cliente. No final do arquivo eu recebo essa entrada
GENERAL_READ_ENTITY_START
Duration
0ms
GENERAL_REQUEST_ENTITY_END
BytesReceived
7870
ErrorCode
0
ErrorCode
The operation completed successfully. (0x0)
Duration
468ms
Após essa entrada, o restante do processo é executado, a entrada final no rastreio é um flush e o final da resposta.
GENERAL_FLUSH_RESPONSE_END
BytesSent
12245
ErrorCode
0
ErrorCode
The operation completed successfully. (0x0)
GENERAL_REQUEST_END
BytesSent
12245
BytesReceived
2598298
HttpStatus
200
HttpSubStatus
0
Quando o arquivo POST falha, há um longo atraso na leitura, seguido de abortamento de E / S e perda de conexão
As últimas entradas na solicitação lidas são as seguintes:
GENERAL_READ_ENTITY_START
Duration
133443 ms
GENERAL_REQUEST_ENTITY_END
BytesReceived
0
ErrorCode
2147943395
ErrorCode
The I/O operation has been aborted because of either a thread exit or an application request. (0x800703e3)
Duration
138248ms
Observe os enormes tempos de duração. Geralmente, a entrada END
é de 3000-4000ms e o START
é 0 ou próximo de 0.
No final do rastreio
GENERAL_FLUSH_RESPONSE_END
BytesSent
0
ErrorCode
2147943629
ErrorCode
An operation was attempted on a nonexistent network connection. (0x800704cd)
GENERAL_REQUEST_END
BytesSent
0
BytesReceived
7210715
HttpStatus
200
HttpSubStatus
0
Outros sintomas
O único momento em que o POSTing funciona para esses arquivos é ao fazer o upload do próprio servidor!
Com isso, quero dizer como navegar para http://localhost
e executar o processo de upload. Isso funciona 100% do tempo.
Correções já tentadas
executionTimeout
sob httpRuntime
em web.config
está definido como 6 minutos. referência
maxRequestLength
sob httpRuntime
em web.config
está definido como 50 MB. maxAllowedContentLength
em requestLimits
em web.config
está definido como 50MB. Eu estou no fim da sagacidade, alguém pode lançar alguma luz sobre isso?