2017-01-27 3 views
0

У меня есть приложение ASP.Net 5.2.3 WebAPI, работающее на Windows Server 2012R2 с IIS 8.5.IIS 8.5: подробные ошибки для удаленных вызовов

Когда я делаю локальный запрос, который вызывает исключения в коде ASP.Net, я получаю приятное полное сообщение об ошибке со стеком. Когда я отправляю тот же запрос с другого хоста, я получаю только HTTP500 с телом { "Message": "An error has occurred." }. Я думаю, что это поведение по умолчанию.

Теперь я хочу также включить эти подробные сообщения об ошибках для удаленных запросов. Я искал вокруг в течение нескольких часов уже, и нашел эти меры:

  1. Редактировать Web.config

    <system.web> 
        <customErrors mode="Off" /> 
    </system.web> 
    
    <system.webServer> 
        <httpErrors errorMode="Detailed" existingResponse="PassThrough" /> 
    </system.webServer> 
    
  2. Enable 'Отправить ошибки в браузере' в IIS Mangaer (IIS-> ASP)
    , как описано здесь: https://serverfault.com/questions/670853/iis-8-show-classic-asp-errors-in-browser

  3. Включить "Подробные" параметры ошибок IIS страницу в диспетчере IIS (IIS-> Ошибка pages-> 500)
    , как описано здесь: https://blogs.msdn.microsoft.com/rakkimk/2007/05/25/iis7-how-to-enable-the-detailed-error-messages-for-the-website-while-browsed-from-for-the-client-browsers

Ничего из того, что похоже на работу, поэтому я уже не в курсе. Возможно, это связано с тем, что мое приложение ASP.Net размещено на существующем сайте IIS. Я проверил, что вышеуказанные изменения (шаг 2 & 3) правильно применяются на каждом уровне.

ответ

1

Дайте этому попытку ...

Чтобы установить политику ошибки в приложении, изменить глобальную конфигурацию Web API:

GlobalConfiguration.Configuration.IncludeErrorDetailPolicy 
= IncludeErrorDetailPolicy.Always; 

https://lostechies.com/jimmybogard/2012/04/18/custom-errors-and-error-detail-policy-in-asp-net-web-api/

+1

Спасибо за подсказку! - Я попробую, как только я доберусь до него. (Через несколько дней) – Efrain

+1

Круто, это сработало! : D – Efrain