Мне нужно прочитать контент, отправленный через post / put в мой Web API через атрибут, чтобы выполнить дополнительную проверку, но значение контента всегда пусто, даже при том, что я вижу, что context-size
установлено значение, т.е. 2067 иcontent-type
установлен на application/json
Я пробовал разные вещи, но, похоже, ничего не работает:
- ReadAsync
- ReadAsByteArrayAsync
- ReadAsStringAsync
- и т.д ...
Моя последняя попытка выглядит следующим образом:
public async override void OnActionExecuting(HttpActionContext actionContext)
{
using (MemoryStream ms = new MemoryStream())
{
await actionContext.Request.Content.CopyToAsync(ms)
.ConfigureAwait(false);
var str = System.Text.UTF8Encoding.
UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Length);
}
}
Причина, по которой я пытался использовать CopyTo, заключается в том, что я заметил, чтокогда я вызывал некоторые из вышеперечисленных функций, что, хотя они возвращали пустую строку, я мог сделать этот вызов один раз после некоторого поиска в Google, я считаю, что это сделано специально.
Суть в том, что мне нужно получить доступтело / содержание моего запроса, чтобы я мог проверить отправленный JSON.
Спасибо.