Estou com um tempo terrível tentando encontrar a causa do erro ao fazer o upload de um arquivo (o tamanho do arquivo não importa) via HTTP para um Windows 2012 R2 Essentials ( IIS 8.5 ) servidor da Web.
O aplicativo é executado sem falhas no Windows 2003 ( IIS 6 ). Ele também funciona muito bem no meu PC de desenvolvimento do Windows 7 em execução IIS 7.5
Como o Gerenciador do IIS para IIS 7.5 é tão semelhante ao IIS 8.5, tive pouca dificuldade em configurar meu aplicativo da Web ISAPI, mas tudo que não seja o upload de arquivos funciona bem.
Eu testei coisas básicas primeiro:
- Assim como nas versões anteriores do IIS, verifiquei as permissões da pasta de upload.
- Eu verifiquei o Visualizador de eventos e não vejo nada sobre meu aplicativo da web.
- Os cabeçalhos de solicitação enviados para as versões do IIS 7.5 e do IIS 8.5 são idênticos. Os dados lançados são idênticos.
- Defina o tamanho máximo da postagem.
- Adicionou tipos de arquivos à lista de permissões.
Outras coisas que tentei:
Quando um arquivo grande é carregado no servidor da web, vejo o w3wp.exe (processo de 32 bits) consumir a CPU quando o arquivo é carregado. O problema é que o erro acontece antes que qualquer código do meu aplicativo tenha uma chance de trabalhar com o upload. Por exemplo:
// handle any HTTP POST
if (strcmp(spContext->GetRequestMethod(), "POST") == 0) {
// what was posted?
if (form == FILE_UPLOADED) {
// A file has been uploaded. Check it to make sure it is
// not corrupt and do what I need to do with it.
…
// I then prepare a JSON response:
m_HttpResponse.SetContentType("application/json; charset=UTF-8");
…
// Now send a reply to the client browser letting it know that the
// file was either successfully / unsuccessfully handled
…
Acredito que ele deva ser um problema de configuração do IIS 8.5, já que esse problema não ocorre no IIS 7.5 ou no IIS 6.
Alguém pode me dar seus pensamentos sobre o que pode estar acontecendo? Obrigada!
UPDATE
Peter Hahndorf sugeriu que eu usasse o recurso Trace, então eu o habilitei e este é o "Resumo do pedido":
Url
http://www.fileuploads.tst:80/FileUpload.srf
App Pool
DefaultAppPool_classic
Authentication
anonymous
User from token
NT AUTHORITY\IUSR
Activity ID
{8000000F-0001-F800-B63F-84710C7967BB}
Site
8
Process
4652
Failure Reason
STATUS_CODE
Trigger Status
500
Final Status
500
Time Taken
0 msec
Erros & Avisos
Severtity
Advertência
Event
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
this field is empty...nothing to display