我试图执行此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操作吗? –