Ссылка с желтой страницы ошибки ASP.NET непосредственно на исходный код VS - PullRequest
1 голос
/ 21 августа 2008

Когда приложение ASP.NET выдает ошибку и генерирует желтый экран, я хотел бы создать какую-то ссылку со страницы ошибок, которая бы сразу переходила к правильной строке кода в Visual Studio.

Я не уверен, как подойти к этому, или если уже существуют какие-либо инструменты, которые достигают этого, - но я хотел бы получить отзыв о том, с чего начать.

В случае необходимости создания новой страницы ошибки, возможно ли заменить стандартный желтый экран на всем веб-сервере, вместо того чтобы настраивать вывод ошибок для каждого приложения?

Ответы [ 6 ]

1 голос
/ 21 августа 2008

Возможно, вам потребуется встроить элемент управления ActiveX на страницу, чтобы что-то подобное было возможно.

0 голосов
/ 26 августа 2008

Не забывайте, что вам нужен файл базы данных отладки программы (pdb), чтобы найти номер строки исходного кода. Приложение в режиме выпуска не будет иметь тот же уровень информации, что и отладочный выпуск.

0 голосов
/ 26 августа 2008

Желтый экран смерти - это просто ошибка 500, что касается сервера, вы можете перенаправить на пользовательский экран, используя раздел ошибок web.config. Чтобы изменить весь сервер таким же образом, вы могли бы переопределить его на уровне iis? Или, возможно, даже установить поведение по умолчанию в файле machine.config (хотя на 100% не уверен в этом)

Если вы позволите этому пузырю дойти до IIS, у вас не будет никакого доступа к информации об исключениях. Лучше поймать исключение перед YSOD и подать свое.

Это можно сделать на уровне приложения.

0 голосов
/ 26 августа 2008

Желтый экран смерти - это просто ошибка 500, что касается сервера, вы можете перенаправить на пользовательский экран, используя раздел ошибок web.config. Чтобы изменить весь сервер таким же образом, вы могли бы переопределить его на уровне iis? Или, возможно, даже установить поведение по умолчанию в файле machine.config (хотя на 100% не уверен в этом)

0 голосов
/ 26 августа 2008

Самая легкая и ленивая вещь, о которой я мог подумать, - это чтобы процесс происходил таким образом:

  1. Желтый экран изменен, поэтому строка с исходным кодом кликабельна. При нажатии он доставляет небольшой текстовый файл с именем исходного файла и номером строки.
  2. Небольшая программа на ПК привязана к расширению маленького файла, который позволяет загрузить желтый экран. Программа использует модель расширяемости visual studio, чтобы открыть исходный файл и перейти к этой строке. Программа может знать, где находится ваш исходный код.

Простой поиск в Google дает полезные советы о том, как управлять VS с помощью внешней программы , такой как этот пост в MSDN .

Если вы хотите пойти пышнее, то, конечно, есть и другие методы, но я бы предпочел написать быструю и грязную программу и избавиться от нее, чтобы я мог заниматься своими делами.

Не позволяйте инструментам становиться проектами ...

-Adam

0 голосов
/ 26 августа 2008

Желтый экран смерти обслуживается по умолчанию ASP.NET HTTPHandler.

Чтобы перехватить его, вам нужно добавить перед ним еще один HTTPHandler, который перехватывает все необработанные исключения.

В этот момент вы можете делать все, что захотите, для макета ошибки.

Создать способ прямого перехода к Visual Studio было бы сложно. Я мог видеть это в IE через объект COM / ActiveX.

...