ASP.NET 2.0: Лучшая практика для записи Error Page

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

string stringlist[10];
int count = 0;

for (int i = 0; i < sequence.length(); i++)
{
    if (sequence[i] == ' ')
    {
        stringlist[count] = sequence.substr(0, i);
        sequence.erase(0, i+1);
        i = 0;
        count++;
    }
    else if (i == sequence.length()-1)  // Last word
    {
        stringlist[count] = sequence.substr(0, i+1);
    }
}

Это не симпатично, но в общем и целом (Запрещающий пунктуацию и убивание других ошибок), это работает!

5
задан BigBlondeViking 10 August 2009 в 13:25
поделиться

1 ответ

В моем глобальном asax я всегда проверяю, какой это тип HTTP-ошибки ...

затем перехожу на правильную страницу ошибки, указанную в web.config тогда эта следующая страница возвращает код состояния 200 (нормально).

302 -> 200 или даже 302 -> 404 имеет другое значение, что просто 404 ...

то, скажем, моя страница с ошибкой 404, я удостоверяюсь, что установил код состояния ошибки http:

protected void Page_PreRender(object sender, EventArgs e)
{
    Response.Status = "404 Lost";
    Response.StatusCode = 404;

}

Эта статья была мне полезна, я знал, что хочу делать, но мне нравится, как этот код выглядит в настройках web.config ... http://helephant.com/2009/02/improving-the -way-aspnet-handles-404-requests /

Вернуть правильный код состояния

По умолчанию страница обрабатывает 404 страница ошибки не возвращает статус 404 код в браузер. Он отображает сообщение об ошибке, которое вы предоставили пользователь, но не имеет дополнительных информацию, чтобы пометить страницу как страница ошибки.

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

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

РЕДАКТИРОВАТЬ

Требуется ли писать server.clearerror () в global.asax? Как это влияет на

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

Зачем в web.config писать error.aspx дважды один с кодом состояния 500, а другой defaultredirect

  • Я использую 2, потому что потерянная страница должна показать / и делать разные вещи, чем Ошибка сервера. страница ошибки показывает у пользователя произошла ошибка, мы не мог оправиться от ... и его наверное наша вина. Я оставляю перенаправление по умолчанию для любого другого коды ошибок также. 403 401, 400 ( они реже, но должны быть обработано)

Можете ли вы также назвать мне код error.aspx и lost.aspx.

  • это зависит от типа веб-сайта у тебя есть. вы получите ту же ошибку путь, но то, что вы с ним сделаете, зависит от ты. на моей потерянной странице я ищу некоторый контент, который мог быть у пользователя находясь в поиске. страницы ошибок, которые я регистрирую ошибка и поэтому удобный для пользователя упс страница ... вам нужно будет выяснить что необходимо.
9
ответ дан 13 December 2019 в 05:39
поделиться
Другие вопросы по тегам:

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