He notado un comportamiento extraño en las páginas de error de IIS. Tengo esta configuración:
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="500" />
<error statusCode="500" responseMode="ExecuteURL" path="/error-page" />
</httpErrors>
A veces, cuando se produce un error de ASP.NET debido a que la cadena de consulta es demasiado larga, inmediatamente se produce el segundo error al intentar ejecutar la URL de la página de error. He seguido el problema al hecho de que IIS agrega la URL original a la URL de la página de error como:
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
Este es un gran problema. Si la url original falla por tener una cadena de consulta demasiado larga, entonces la página de error con el material agregado también falla porque tiene una cadena de consulta que es aún más larga.
Creo que este es el error más tonto en IIS. ¿Alguien sabe si hubo algún parche de service pack para eso? En el peor de los casos, si ya no se ha solucionado nada, ¿hay alguna forma de deshabilitar este comportamiento o algún truco para evitar que IIS agregue cosas no solicitadas a la página de error? Porque rompe todo el mecanismo de página de error personalizado.