Ссылка с желтой страницы ошибки ASP.NET непосредственно на исходный код VS

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

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

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

21.08.2008 17:17:51
6 ОТВЕТОВ
РЕШЕНИЕ

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

1
21.08.2008 17:22:03

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

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

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

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

0
26.08.2008 00:40:36

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

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

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

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

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

-Адам

-1
25.03.2009 13:04:14

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

0
26.08.2008 00:53:01

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

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

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

0
26.08.2008 00:54:49

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

0
26.08.2008 01:55:11