我有一个 ASP.NET WebAPI控制器,从Azure DocumentDB中创建文档,从通过控制台应用程序传递到其POST方法的数据。 POST方法的返回类型是HttpResponseMessage ,在文档成功创建后返回OK(即200)的状态代码。< / p>
文档已成功创建来自WebAPI,状态代码200也将返回。但是在某个地方它出错(我无法弄清楚在哪里和为什么)和状态代码,我的控制台应用程序在成功POST后收到 - 内部发生服务器错误。
public HttpResponseMessage Post([FromBody]GPSDataVM data)
{
if (KeyRepository.IsValid(data.Key))
{
// Creates a document in DocumentDB by calling an async method CreateLiveDataDocument(data);
return new HttpResponseMessage(HttpStatusCode.OK);
}
return new HttpResponseMessage(HttpStatusCode.Unauthorized);
}
任何人都可以帮我解决这个问题吗?提前谢谢..
答案 0 :(得分:0)
我从以下地址找到了我的问题的答案: Web Api + HttpClient: An asynchronous module or handler completed while an asynchronous operation was still pending
我将定义更改为我的WebAPI控制器:
public **async Task<HttpResponseMessage>** Post([FromBody]GPSDataVM data) {
if (KeyRepository.IsValid(data.Key))
{
// Creates a document in DocumentDB by calling an async method
**// Code for CreateLiveDataDocument(data)**
return new HttpResponseMessage(HttpStatusCode.OK);
}
return new HttpResponseMessage(HttpStatusCode.Unauthorized); }