Если исключение перехватывается на стороне сервера панели обновления, можете ли вы каким-либо образом увидеть трассировку стека?

#asp.net #asp.net-ajax

#asp.net #asp.net-ajax

Вопрос:

Я пытаюсь отладить стороннюю библиотеку, которая в определенных случаях выдает исключение с нулевой ссылкой, но я получаю исключение только со стороны javascript, которая не содержит трассировку стека в сообщении об ошибке.

Есть ли значение в scriptmanager или что-то подобное с дополнительной информацией об исключении, или я должен удалить панели обновления, чтобы получить необработанное исключение?

(Проще сказать, чем сделать, в него вложено несколько панелей обновления)

Спасибо!

Ответ №1:

Посмотрите на ScriptManager.AsyncPostBackError событие.

Вы можете сделать что-то вроде этого

 protected void ScriptManager1_AsyncPostBackError(object sender, AsyncPostBackErrorEventArgs e)
{
        //do something with the exception
        log(e.Exception.Message);

        // show a message to the user.
        ScriptManager1.AsyncPostBackErrorMessage =
            "An  error occurred."   e.Exception.Message;
    }
}
  

Ответ №2:

Вы можете временно отключить функции ajax, установив для свойства EnablePartialRendering ScriptManager значение false.