У меня возникла странная проблема с тем, что я считаю связанным с IIS. Я разработал веб-API ASP. NET, работающий на DOTNET4.6. Этот API получает в своем теле полезную нагрузку json при вызове из другой системы. Затем он берет эту информацию и вызывает API GitHub на api.github.com с личным токеном доступа, чтобы создать для меня репозиторий.
Схема, приведенная выше, может не иметь отношения к ситуации, но вот проблема :
Проблема
При работе в режиме отладки этот API работает должным образом. Я могу выполнить POST-запрос почтальона, и все операции будут выполнены, как ожидалось, и я могу увидеть свое новое репо на GitHub.
При публикации службы и перемещении ее на один из наших серверов IIS. Вещь становится беспорядочной и надоедливой. Выполнение запроса POST приводит к ответу json {"message": "Произошла ошибка"}. Я точно знаю, что это происходит еще до того, как мой код будет достигнут, и это не одно из моих сообщений об обработке ошибок. Ответом является внутренняя ошибка сервера 500.
Что я пробовал
Я попытался исследовать источник проблемы, выполняя запрос разными способами. Журналы IIS мне ничего не дают.
Я выполнил следующий запрос в Chrome консоли разработчика:
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({"timestamp":1589452400243,"webhookEvent":"item_created"});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://myiisserver/Integration/api/GitRepoSetu?clientid=aclientid&clientsecret=aclientsecret", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
к сожалению, это дает тот же результат, и никакой полезной информации нет. только на внутреннем сервере 500 и появляется сообщение «Произошла ошибка»
может ли кто-нибудь указать мне в правильном направлении, где я могу найти указание на то, что на самом деле происходит? Раньше у меня были проблемы с политикой CORS, и я пытался решить их, установив пакет CORS NuGet и настроив его на моем контроллере. Ошибка cors была выдана только в консоли chrome dev, а не в почтальоне. Я с трудом пытаюсь понять это.