Tenho o IIS 8.5 em execução em alguns servidores com uploads do BITS habilitados em um diretório virtual. Olhando através dos logs, vejo vários tipos diferentes de erros, onde diz (bits_error:{GUID},500,0x80070070)
ou algum outro código de erro. Eu sou capaz de corresponder isso a Descrições de Erros no lado do cliente usando o cmdlet PowerShell Get-BitsTransfer
e acessando o atributo ErrorDescription, mas somente se acontecer de o cliente encontrar o erro.
Os códigos específicos que estou vendo são
Tenho certeza de que há mais. BitsMsg.h inclui alguns dos mais comuns.
Quaisquer ponteiros para mais detalhes sobre a lista completa de códigos de erro para entradas BITS_POST nos arquivos de log do IIS serão bem-vindos.
Atualização: Usando o rastreamento de solicitações com falha, posso ver um pouco mais de informações sobre o erro de índice inválido (0x80070585). Eu não vejo nenhuma atividade no diretório virtual no SysInternals Process Monitor, nem vejo quaisquer identificadores abertos para esse diretório na máquina ao usar o identificador. No entanto, verifiquei que as credenciais armazenadas para se vincular a esse diretório virtual no Gerenciador do IIS estão funcionando e, quando faço uma conexão de teste, vejo no procmon que o INetMgr.exe realmente acessou o diretório local que eu esperava. De qualquer forma, aqui está o bit interessante do arquivo de rastreamento. Parece que estamos chegando à dll do serviço BITS e engasgados dentro dela.
ISAPI_START
CALL_ISAPI_EXTENSION
DllName="C:\Windows\system32\bitssrv.dll"
MODULE_SET_RESPONSE_ERROR_STATUS
ModuleName="IsapiModule", Notification="EXECUTE_REQUEST_HANDLER",
HttpStatus="500", HttpReason="Internal Server Error",
HttpSubStatus="0", ErrorCode="The operation completed successfully.(0x0)",
ConfigExceptionInfo=""
GENERAL_SET_RESPONSE_HEADER HeaderName="Pragma", HeaderValue="no-cache", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-packet-type", HeaderValue="Ack", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error", HeaderValue="0x80070585", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="BITS-Error-Context", HeaderValue="0x5", Replace="false" 14:20:19.559
GENERAL_SET_RESPONSE_HEADER HeaderName="Content-Length", HeaderValue="0", Replace="false" 14:20:19.559
ISAPI_EXTENSION_DONE 14:20:19.559
ISAPI_END
Uma última pista é que, para as entradas no log em que estou vendo o erro 0x80070585, não há nenhum GUID de trabalho listado após bits_error
. É apenas (bits_error:, 500,0x80070585). É como se o caminho remoto desejado para o upload estivesse aparecendo, mas falha muito cedo no protocolo de upload.
Atualização 2: há um código de erro do Windows Update potencialmente relacionado SUS_E_INVALIDINDEX
aka SUS_S_ALREADY_UNINSTALLED
, que significa "A atualização a ser desinstalada já não está instalada - foi feita uma tentativa de usar uma índice inválido. " Como o Windows Update usa o protocolo BITS, talvez o índice de que eles estão falando seja um índice de arquivo no trabalho. No entanto, os trabalhos de upload do BITS sempre têm no máximo um arquivo, e o valor hexadecimal para esse é 0x80240007.
Veja também WU_E_INVALIDINDEX e esta StackOverflow answer .