我試圖執行此code example,但獲得HttpRequestException
- 「錯誤,同時將內容複製到流。」當調用ReadAsStringAsync()
方法時。內部例外是「無法訪問處置對象」。我正在使用Fiddler來提出請求。我不明白。有人可以解釋爲什麼我得到這個例外並提供解決方案嗎?Web Api請求引發「將內容複製到流時出錯」。
的Web API方法:
public async Task<HttpResponseMessage> Post(HttpRequestMessage request)
{
try
{
var jsonString = await request.Content.ReadAsStringAsync();
}
catch (Exception ex)
{
throw;
}
return new HttpResponseMessage(HttpStatusCode.Created);
}
提琴手(POST):
User-Agent: Fiddler
Host: localhost:23567
Content-Length: 18
Content-Type: application/json; charset=utf-8
Body{"Test":1}
編輯:
我有一個線索,但需要驗證。在網絡API控制器,我有一個ActionFilterAttribute
,並在其OnActionExecuting
覆蓋,有這樣一行:
public override async void OnActionExecuting(HttpActionContext actionContext)
{
// omitted code
actionContext.Request.Content.ReadAsStreamAsync();
}
難道是因爲這裏的內容讀取,它再次不可用?如果是這樣,我該如何使它在方法中可用?這裏的內容是否與HttpRequestMessage相同? This可能包含答案。
你是怎麼調用這個方法的? –
@YuvalItzchakov ...我正在使用Fiddler –
這種方法是Web API操作嗎? –