ASP.NET MVC + ELMAH - методы контроллера требуют очень много времени для ответа при возникновении исключения - PullRequest
2 голосов
/ 10 марта 2011

Я работаю с веб-приложением, встроенным в ASP.NET MVC. Он развернут в IIS 7 и настроен для регистрации исключений с ELMAH .

Проблема, с которой я сталкиваюсь, заключается в том, что когда возникает исключение в методе контроллера, для ответа на HTTP-запрос требуется 15-20 (или более) секунд, даже если это исключение, которое я перехватываю / регистрирую. Таким образом, пользователь остается сидеть там вечно, задаваясь вопросом, что случилось с сайтом. Это происходит во всех видах исключений; похоже, что общая проблема возникает, если в методе контроллера возникает исключение.

Кто-нибудь когда-нибудь видел эту проблему?

Примечание. Я использую WinServer 2008 x64, ASP.NET MVC 2, .NET 4.0, IIS7, ELMAH 1.1, а для отладки установлено значение False в Web.Config. Это не случалось некоторое время назад; Я не знаю, что я мог изменить, чтобы это начало происходить.

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

Хорошо, это было быстро.Я понял это.

База данных, которую ELMAH использовал для хранения ошибок, была перемещена на другой сервер, и я забыл обновить Web.Config новой строкой соединения.Таким образом, он ожидал истечения времени ожидания соединения с базой данных регистрации ошибок, прежде чем вернуть пользователю HTTP-ответ.

Теперь при правильной информации о соединении исключения возвращаются быстро, как раньше.

1 голос
/ 10 марта 2011

Несколько идей, чтобы заставить вас двигаться:

  1. Можете ли вы продублировать эту проблему на локальном компьютере для разработки?
  2. Вы пытались использовать Профилирование производительности Visual Studio (с приборами), чтобы изолировать, где происходит задержка?

Вот что я бы сделал, чтобы отследить проблему. Их профилирование производительности требует некоторого привыкания, но дает отличные данные.

...