Подтвердить что ты не робот

Режим пользовательских ошибок Web.config Конфликт

У меня есть большая и важная проблема с Web.Config, мне нужно увидеть Ошибка моей страницы и разрешить ее в веб-форме asp.net и веб-конфигурации, но когда возникла ошибка, я вижу другую ошибку, и я вижу это Сообщение:

режим customErrors для выключения или включения или удаленного доступа,

Я устанавливаю это свойство "Выкл.", но не показываю ошибку и повторяю, добавьте атрибут "В свой пользовательский пароль".

enter image description here

enter image description here

когда я устанавливаю режим в положение "Вкл", скажем, пожалуйста, установите для режима customErrors значение "Вкл. снова".

enter image description here

enter image description here

4b9b3361

Ответ 1

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

В этом случае ваш сервер может иметь конфигурацию <deployment retail="true" />, которая отменяет настройки приложения и отключает вывод трассировки, настраиваемые ошибки и возможности отладки.

Измените значение на "false"

<deployment retail="false" />

Ссылка MSDN

Ответ 2

Сначала вы можете установить режим CustomErrors с "RemoteOnly" на "off" <customErrors mode="Off"></customErrors>

Во-вторых, вы можете проверить global.asax.maybe, что вы создаете Response.Redirect так же, как defaultRedirect в customError. вы можете проверить более подробно здесь ASP.NET customErrors с помощью режима = remoteOnly и global.asax обработки исключений

и последнее, возможно, вы создаете два system.web в своем webconfig. У вас должен быть только один в вашем файле config.please, снова проверьте ваш webconfig. и не забывайте <compilation debug="true"/>

Ответ 3

Убедитесь, что вы помещаете тэг customErrors в свой тег <system.web> следующим образом:

<system.web>
<customErrors mode="Off" />
</system.web>

Из вашего описания он уже наверняка был помещен туда вами или автоматически сгенерирован другим способом. Также попробуйте установить значение "Вкл" и перезапустить пул приложений. Вы можете сделать это, просто изменив web.config файл, добавив возврат возврата или даже просто нажав клавишу пробела, если вы внесли изменения. Теперь повторно загрузите, убедившись, что это ваш второй раз, когда для режима customErrors установлено значение On. Надеемся, теперь вы сможете просмотреть свою страницу с ошибкой.

Если у вас все еще есть проблемы и у вас есть доступ к вашему веб-сайту из диспетчера IIS, попробуйте отредактировать представление .NET Pages Pages в представлении "Возможности". Это также сделает то же самое, если ваша пользовательская страница ошибок находится в правильном каталоге для файла web.config для доступа.

Ответ 4

Чтобы показать ошибку для отладки и НЕ показывать страницу пользовательских ошибок, вам не нужен defaultRedirect, и просто после этого нужно вывести информацию об отладке/исключении:

<system.web>
    <customErrors mode="On" />
</system.web>

ПРИМЕЧАНИЕ. Убедитесь, что On начинается с верхнего регистра O. Изменив файл web.config, он должен (по умолчанию) переработать ваш пул приложений и сразу же получить его.

Ответ 5

Вот пример кода, как вы можете отображать исключения на пользовательской странице.

Сначала создайте Default.aspx с кнопкой:

    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Throw Error" />

Добавьте следующий код для события нажатия кнопки:

    protected void Button1_Click(object sender, EventArgs e)
    {
        throw new Exception("Sample Exception on my Page");
    }

Второе создание ErrorPage.aspx с меткой:

    <asp:Label ID="Label1" runat="server" Text=""></asp:Label>

И код для страницы с ошибкой:

    protected void Page_Load(object sender, EventArgs e)
    {
        Exception ex = Server.GetLastError();
        if (ex != null && ex.InnerException != null)
        {
            Label1.Text = string.Format("An error occured: {0}", ex.InnerException.Message);
        }
    }

И, наконец, поместите следующую конфигурацию в web.config:

    <system.web>
      <customErrors mode="On" defaultRedirect="~/ErrorPage.aspx" redirectMode="ResponseRewrite" />
    </system.web>

Скомпилируйте и начните с Default.aspx. Нажмите кнопку, и на вашей странице будет отображаться ошибка.

Счастливое кодирование!

Ответ 6

Я просто хотел прокомментировать здесь, но у меня недостаточно комментариев для комментариев. Можем ли мы увидеть фактическую страницу, которая вызывает ошибку, и увидеть весь web.config? вы можете размыть соединительные строки и таким образом, чтобы не выдавать никаких паролей.

Но с тем, что я вижу,

Я думаю, из того, что вы говорите, вы используете отладку IIS Express на локальной машине. Я бы сделал IIS Express или ctrl + F5 на странице, чтобы увидеть, просто ли сайт не кэширован.

настройка пользовательских ошибок на "Выкл." покажет вам отладочное сообщение. ПРИМЕЧАНИЕ. "O" в "Выкл." должен быть заглавным с нижним регистром. похоже, что у вас есть это, но стоит упомянуть

Пользовательские ошибки - Указывает, что пользовательские ошибки отключены. Это позволяет отображать подробные ошибки.

Ответ 7

Я никогда не видел, чтобы он говорил, что он включен. Я видел, как он говорит, что отключить customeErrors, что даст вам подробные ошибки. Отключите его, а затем добавьте фактическое сообщение об ошибке, которое вы видите в этом сообщении. Вы уверены, что не получите другое сообщение, например, ошибку 404?

Ответ 8

Из того, что я вижу, у вас нет <customErrors mode="Off" /> в качестве первого node в <system.web> node.

Если бы я предполагал, у вас есть customErrors node внутри <compilation targetFramework="x.x"> node.

Вероятно, у вас есть приложение, настроенное на другую версию .NET Framework, чем приложение написано. Убедитесь, что <customErrors mode="Off" /> node является первым внутри <system.web> node, тогда он, скорее всего, дайте вам подробные сведения об ошибках.

Ответ 9

Удаление этой строки работает для меня!

<customError  />

Ответ 10

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

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

Ответ 11

Установите режим "Вкл.", сохраните файл web.config, затем обновите или перезапустите IIS и убедитесь, что режим по-прежнему установлен на "Вкл." после сохранения. Перейдите к нему еще раз, он должен показать ошибку...