从控制台应用程序传递到ASP.NET WebAPI的数据在DocumentDB中创建文档时的内部服务器错误(500)

时间:2015-10-12 11:35:30

标签: asp.net-web-api

我有一个 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); 
}

任何人都可以帮我解决这个问题吗?提前谢谢..

1 个答案:

答案 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); }