Если у вас нет раздела customErrors
в вашем Web.config, это то же самое, что раздел с mode="RemoteOnly"
. Этот режим customError заставит локальные запросы (сделанные с сервера, на котором работает IIS) не использовать пользовательские ошибки, и он будет выполнять метод Application_Error()
, как и ожидалось. Удаленные запросы будут использовать customErrors и не будут выполнять метод, упомянутый выше.
Это объясняет, почему вы наблюдаете другое поведение локально, чем на вашем сервере. Вы можете воспроизвести это поведение в любой среде, явно изменив режим customErrors на On или Off. Вкл. Не выполнит секцию Application_Error()
, в то время как Выкл.
<customErrors mode="On|Off|RemoteOnly" />
Конечно, это не решит вашу проблему, то есть вы хотите, чтобы метод выполнялся независимо. У меня есть вознаграждение за другой вопрос , где мы пытаемся выяснить, почему метод Application_Error()
не запускается, когда включен режим customErrors. Вернитесь туда через пару дней, чтобы узнать, нашли ли мы решение.