Web.config не показывает ошибки удаленно, даже если customErrors = "Off" (в ubuntu / mono) - PullRequest
8 голосов
/ 18 февраля 2011

Вот мой файл Web.config:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <customErrors mode="Off" />    
        <compilation debug="true" strict="false" explicit="true />    
        <pages>
          <namespaces>
            <clear />
            <add namespace="System" />
            <add namespace="System.Collections" />
            <add namespace="System.Collections.Generic" />
            <add namespace="System.Collections.Specialized" />
            <add namespace="System.Configuration" />
            <add namespace="System.Text" />
            <add namespace="System.Text.RegularExpressions" />
            <add namespace="System.Web" />
            <add namespace="System.Web.Caching" />
            <add namespace="System.Web.SessionState" />
            <add namespace="System.Web.Security" />
            <add namespace="System.Web.Profile" />
            <add namespace="System.Web.UI" />
            <add namespace="System.Web.UI.WebControls" />
            <add namespace="System.Web.UI.WebControls.WebParts" />
            <add namespace="System.Web.UI.HtmlControls" />
          </namespaces>
          <controls>
            <add src ="~/controls/maleBed.ascx" tagPrefix ="mycontrol" tagName ="male"/>
            <add src ="~/controls/femaleBed.ascx" tagPrefix ="mycontrol" tagName ="female"/>
          </controls>
        </pages>
    </system.web>
</configuration>

Даже если для режима customErrors задано значение Off (и это определенно заглавная буква "O"), на нем все еще отображается страница ошибок по умолчанию, предлагающая установитьсвойство, прежде чем я смогу увидеть эту фактическую ошибку удаленно.

У меня нет файла machine.config, и я также установил этот customErrors mode = "Off" в Web.Debug.config и в Интернете.Release.config.

Любые идеи кто-нибудь?

Большое спасибо.

Редактировать - что это показывает:

Server Error in '/' Application

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

<!-- Web.Config Configuration File -->

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


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>

Ответы [ 6 ]

6 голосов
/ 15 февраля 2012

Линия

<compilation debug="true" strict="false" explicit="true />

в вашем коде неверна.Здесь поправка: (см. Последнюю кавычку)

<compilation debug="true" strict="false" explicit="true" />
5 голосов
/ 22 августа 2011

Не удалось найти ответ - нам пришлось получить хостинг на базе Windows.

5 голосов
/ 22 августа 2011

Я обнаружил, что мне действительно пришлось перезапустить apache после внесения изменений в файл web.config ...

3 голосов
/ 18 февраля 2011

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

Вы уверены, что смотрите правильный файл web.config?Переопределяете ли вы какие-либо из этих значений в директивах вашей страницы?

Рассмотрите возможность размещения всего вашего файла web.config (без личной информации).

РЕДАКТИРОВАТЬ: Кроме того, что он показывает, когда выпросмотреть страницу?

0 голосов
/ 19 мая 2016

У меня была какая-то проблема. Я также довольно новичок в Linux. В моем случае проблема заключалась в том, что я не добавил необходимые разрешения для папки сайта, и в результате файл Web.config даже не читался.

Только для отладки вы можете попробовать разрешить полные права доступа для всей папки сайта (рекурсивно).

  • chmod -R ugo + rwx / your_site_root

Однако не рекомендуется выходить в производство с такими разрешениями.

0 голосов
/ 10 ноября 2013

Хотя за последние 2 дня я очень расстроился из-за Mono и, подумав о том, чтобы получить хостинг для Windows, я обнаружил, что по крайней мере для веб-сайтов MVC 4, чтобы получить подробные сообщения об ошибках, вам нужно перейти в Views и найти Web.config там и добавьте необходимую директиву <customErrors mode="Off"/>.

Добавление его в файл Web.config в основном каталоге ничего не меняет.

Тогда начинается настоящая беда.

...