Беспорядок: когда он появится, поймайте его (предполагая, что сможете?) И отправьте столько данных на страницу, сколько сможете. Поместите его в комментарий HTML, чтобы пользователь не мог его увидеть. Что-то вроде:
lblError.Text = (положить отформатированный
Информация об исключении здесь);
<! - <asp: label id = lblError /> ->
Почти так же грязно: ищите что-то вроде Trace.WriteLine. Вы можете включить трассировку в ASP.NET, которая позволяет вам перейти на определенную страницу (_trace.axd?) И получить дамп всех сообщений для загрузки этой страницы. Я на самом деле не использовал его, но он работает.
Немного менее грязно (так как это кажется временным явлением): используйте Trace.WriteLine для вывода материала и запустите debugview (из Microsoft) на сервере, если у вас есть физический доступ. Затем вы можете захватить этот отладочный вывод (ядро Win32 API на этом является OutputDebugString - я думаю, что .net вызов Debug.WriteLine)
Хорошее качество: Log4Net. Настройте его так, чтобы вы могли использовать его где угодно. В большинстве случаев включайте его в «ОШИБКУ», но в этом случае используйте «ОТЛАДКУ», пока не найдете решение.
Я бы пошел на 3, затем на 4 или на 3 сейчас, и на 4, когда вы в следующий раз немного очистите кодовую базу.
:)