Взгляд пропускает 500 исключений

Glimpse отлично работает, когда сайт в значительной степени работает нормально, но когда есть 500, он исчезает.

С баром Glimpse

По сравнению с:

Нет проблескового бара

Вы можете увидеть это здесь (пока вы входите в систему как пользователь glimpseuserс паролем = password).

http://telemetrymvc.azurewebsites.net/Home/ThrowException

К сожалению, 500 действительно очень важны.

Есть ли способ для Glimpse остаться в живых в случае исключения?

1 ответ

Возможно, но вам придется обрабатывать ошибку 500 через MVC, а не полагаться на страницу статической ошибки. Glimpse просто внедряет себя в ответный HTML во время выполнения, и он не может сделать это со статической страницей. Тем не менее, наличие 500 ошибок, обработанных MVC, означает, что вы можете оказаться в цикле перенаправления, если есть ошибка всего приложения: приложения перенаправляют на обработчик 500, который затем также вызывает исключение, вызывающее перенаправление на обработчик 500, и так далее.,

Если вы хотите рискнуть, вам нужно добавить httpErrors объявление в ваш Web.config:

<system.webServer>
    ...
    <httpErrors errorMode="Custom" existingResponse="Replace">
        <remove statusCode="500" />
        <error statusCode="500" responseMode="ExecuteURL" path="/Error/ServerError" />
    </httpErrors>

Тогда вам просто нужно ErrorController с ServerError действие, если вы используете маршрут по умолчанию.

Однако Glimpse на самом деле предназначен только для разработки, и даже тогда желтые экраны смерти более уместны, чем что-то с включенным Glimpse. Для производства вы должны использовать какое-то альтернативное приложение для регистрации ошибок, такое как Elmah или один из множества облачных вариантов.

Другие вопросы по тегам