Как прочитать ASP.NET внутреннее описание ошибки сервера с.NET?

Похоже, вы пытаетесь избежать передачи ссылки на this в метод. Передача this намного лучше, чем поиск вызывающего по текущей трассировке стека. Рефакторинг для более ОО дизайна еще лучше. Вам не нужно знать звонящего. При необходимости передайте объект обратного вызова.

5
задан Jader Dias 18 June 2009 в 20:27
поделиться

5 ответов

Веб-серверы часто возвращают страницу с ошибкой с более подробной информацией (либо HTML, либо обычный текст в зависимости от сервера). Вы можете получить это, перехватив WebException и прочитав поток ответа из его свойства Response .

7
ответ дан 14 December 2019 в 04:45
поделиться

Мне всегда нравился

Debug.WriteLine( ex.ToString() );
0
ответ дан 14 December 2019 в 04:45
поделиться

Попробуйте перехватить исключение HttpException и вызвать для него GetHtmlErrorMessage ()

0
ответ дан 14 December 2019 в 04:45
поделиться

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

0
ответ дан 14 December 2019 в 04:45
поделиться

Я нашел полезную информацию для отладки следующим образом:

        catch (WebException ex)
        {
            HttpWebResponse httpWebResponse = (HttpWebResponse)ex.Response;
            String details = "NONE";
            String statusCode = "NONE";
            if (httpWebResponse != null)
            {
                details = httpWebResponse.StatusDescription;
                statusCode = httpWebResponse.StatusCode.ToString();
            }

            Response.Clear();
            Response.Write(ex.Message);
            Response.Write("<BR />");
            Response.Write(ex.Status);
            Response.Write("<BR />");
            Response.Write(statusCode);
            Response.Write("<BR />");
            Response.Write(details);
            Response.Write("<BR />");
            Response.Write(ex);
            Response.Write("<BR />");
        }
1
ответ дан 14 December 2019 в 04:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: