У меня есть веб-сайт DNN 9.2 , настроенный на локальном сервере.Я использую HttpPOST для отправки JSON в web.api.Это работало на прошлой неделе и теперь перестало работать, когда я пытаюсь обновить с Angular 4.1 до 4.3 .
Когда я пытаюсь получить доступ к конечной точке API из моего приложения или звонка почтальонаЯ получаю ошибку 500 и не получаю сообщения.
Вот мой код контроллера:
[HttpPost]
[ActionName("postPost")]
[AllowAnonymous]
public ApiResult UpsertPost([FromBody]Post post)
{
try
{
DO STUFF HERE
}
catch (System.Exception ex)
{
CATCH ERROR
}
}
Что забавно, это то, что это работало, и все, что я сделал, это изменил использование нового httpClientот угловой 4.3.Я знаю, что конечная точка API принимает запросы.
То, что я пытался:
- Я пытался вывести angular из цикла с помощью вызовов почтальона.Однако я также не могу использовать звонки почтальона, которые я настроил в качестве тестов, и получаю ту же ошибку.
- Я попытался изменить атрибут безопасности с [AllowAnonymous] на ** DNNвстроенный атрибут безопасности: [DnnModuleAuthorize (AccessLevel = SecurityAccessLevel.Anonymous)] **, но вместо ошибки 500 появляется следующая ошибка:
В этом запросе отказано в авторизации.
Появляется та же ошибка, что и выше, если я изменяю атрибут безопасности на [DnnModuleAuthorize (AccessLevel = SecurityAccessLevel.View)] *
Я убедился, что действие POST поддерживается в моем файле web.config:
add name = "ExtensionlessUrl-Integrated-4.0" path = "*."verb = "GET, HEAD, POST, DEBUG, PUT, DELETE"Конечные точки API получают удар, потому что если я использую GET вместо POST, я могу достичь всех моих точек останова в коде web.pai.Кроме того, данное «Отказано в авторизации по этому запросу» предоставляется службой API.
ВОПРОС
Может кто-нибудь помочь мне выяснить, почему мои DNN API с сообщениями не принимают запросы