Próbuję zaimplementować to code example, ale otrzymam błąd HttpRequestException
- "podczas kopiowania treści do strumienia." po wywołaniu metody ReadAsStringAsync()
. Wewnętrzny wyjątek to "Nie można uzyskać dostępu do usuniętego obiektu." Używam Skrzypka do złożenia wniosku. Nie rozumiem. Czy ktoś może wyjaśnić, dlaczego otrzymuję ten wyjątek i oferuje rozwiązanie?Żądanie Web Api zgłasza "Błąd podczas kopiowania treści do strumienia".
Web metoda API:
public async Task<HttpResponseMessage> Post(HttpRequestMessage request)
{
try
{
var jsonString = await request.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
throw;
}
return new HttpResponseMessage(HttpStatusCode.Created);
}
Skrzypek (POST):
User-Agent: Fiddler
Host: localhost:23567
Content-Length: 18
Content-Type: application/json; charset=utf-8
Body{"Test":1}
Edit:
mam pojęcia, ale wymagają weryfikacji. Na kontrolerze Api Web, mam ActionFilterAttribute
iw jego OnActionExecuting
ręcznym, jest to linia:
public override async void OnActionExecuting(HttpActionContext actionContext)
{
// omitted code
actionContext.Request.Content.ReadAsStreamAsync();
}
Czyżby dlatego, że zawartość jest tu czytać, to nie jest dostępny? Jeśli tak, jak mogę udostępnić tę metodę? Czy zawartość jest tutaj taka sama jak HttpRequestMessage? This może zawierać odpowiedź.
Jak nazwać tę metodę? –
@YuvalItzchakov ... Używam Fiddlera –
Czy ta metoda jest działaniem Web API? –