У нас есть приложение ASP.NET Web API 2, которое использует HttpResponseMessage в качестве контроллера возвращаемого значения из-за нашей потребности в отправке прямого текста.Наш код выглядит примерно так:
public HttpResponseMessage Submit(string data)
{
...do some sutff...
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent("Success", System.Text.Encoding.UTF8, "text/plain")
};
}
Все отлично работает.В другой области кодовой базы есть набор методов, которые требуют повторных попыток, мы установили пакет nuget Polly, добавили в повтор, и все выглядит великолепно при локальном запуске в Visual Studio.Как только мы развернем Azure, все пойдет плохо.
При компиляции и запуске локализации в отладчике Visual Studio мы ожидаем и получаем ответ 200 с простой текстовой строкой.Эта проблема возникает при развертывании в веб-приложении Azure.Как только мы сделаем это, наши вызовы API возвращают следующее:
{
"Version": {
"_Major": 1,
"_Minor": 1,
"_Build": -1,
"_Revision": -1
},
"Content": {
"Headers": [
{
"Key": "Content-Type",
"Value": [
"text/plain; charset=utf-8"
]
}
]
},
"StatusCode": 200,
"ReasonPhrase": "OK",
"Headers": [],
"RequestMessage": null,
"IsSuccessStatusCode": true
}
Если мы удалим Polly, все вернется в норму.
Единственный другой комментарий / вопрос, который мы могли бы выяснитьбыло следующее: Веб-API возвращал объект HttpResponseMessage после обновлений nuget в Azure Web App
2 Вопросы:
- Каков ответ выше?Моего контента там нет, и я никогда не видел этого раньше.
- Есть ли в Полли что-то, что я пропустил в плане конфигурации и т. Д., Что могло бы вызвать это?