2017-02-02 1 views
0

У меня есть веб-сервис MVC Web API 2.0, который использует фильтр проверки подлинности. Код в значительной степени соответствует этому блогу. https://www.asp.net/web-api/overview/security/authentication-filtersIIS возвращает код 500, пока код возвращается a 401

Однако в последнее время API начал действовать. Когда были указаны неверные учетные данные, он возвращал 500 вместо 401. Этот код работал в течение нескольких месяцев и никаких изменений в коде не произошло. Поэтому первое, что я сделал, это проверить решение, выполняемое локально в IIS 10, и оно отлично работало. Однако сервер runnig IIS 7.5 продолжает отправлять неверный код ошибки. Я отлаживал код на сервере, добавляя визуальную студию к процессу w3w.exe, и никаких исключений не было. На самом деле мне удалось увидеть код, который возвращает 401 для правильной работы. Также установите настройку отладчика, чтобы поймать любое исключение, которое было тронутым и до сих пор не получено.

Мне кажется, что это проблема конфигурации IIS, недавно сервер получил новый сертификат и были внесены изменения для перенаправления HTTP-запроса на https. Я посмотрел в файлы журналов и увидел процесса, запрос с 401

2017-02-02 5:39:09 W3SVC4 P4850772 69.174.252.42 GET/mobile_api/API/Логин - 443 - 73.204.143.208 HTTP/1.1 PostmanRuntime/3.0.9 - - «mysite.com» 401 0 0 261 313 109

Поэтому я не могу указать, какая конфигурация вызывает то, что клиент получает 500, когда это должно было быть 401. Любая помощь оценивается. Заранее спасибо.

ответ

0

Прошло некоторое время, но моя проблема исправлена ​​и подумала, что я поделюсь ею. Проблема возникла при запуске версии 4.5 .net api в качестве веб-приложения в версии 2.0 .net. Я честно не знаю подробностей. Но миграция для родительской стороны в .net 4.5 решила проблему без каких-либо изменений, что когда-либо было для API.

Смежные вопросы