Ho notato un comportamento strano nelle pagine di errore di IIS. Ho questa configurazione:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="500" />
<error statusCode="500" responseMode="ExecuteURL" path="/error-page" />
</httpErrors>
A volte quando si verifica un errore ASP.NET a causa della lunghezza eccessiva della stringa di query, si verifica immediatamente il secondo errore durante il tentativo di eseguire l'URL della pagina di errore. Ho rintracciato il problema al fatto che IIS aggiunge l'URL originale all'URL della pagina di errore come:
Original: http://example.com/someurl?id=some_very_long_query_string_causing_security_exception
Error: /error-page?500;http://example.com/someurl?id=some_very_long_query_string_causing_security_exception
Questo è un grosso problema Se l'URL originale non riesce per avere una stringa di query troppo lunga, anche la pagina di errore con le cose aggiunte fallisce perché ha una stringa di query ancora più lunga!
Credo che questo sia il bug più stupido di IIS. Qualcuno sa se ci fosse qualche patch di service pack per questo? Nel peggiore dei casi, se ormai non è stato risolto nulla, esiste un modo per disabilitare questo comportamento o eventuali trucchi per impedire a IIS di aggiungere elementi non richiesti alla pagina di errore? Perché interrompe l'intero meccanismo della pagina di errore personalizzata.