Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在WebApi中调用异步REST方法显示为找不到方法_Android_Rest_Asp.net Web Api - Fatal编程技术网

Android 在WebApi中调用异步REST方法显示为找不到方法

Android 在WebApi中调用异步REST方法显示为找不到方法,android,rest,asp.net-web-api,Android,Rest,Asp.net Web Api,我有以下方法的Web Api: [HttpPost] public HttpResponseMessage Complete(__ServiceComplete ServiceCompleteInfo) { HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.BadRequest); // Send SMS to User for co

我有以下方法的Web Api:

    [HttpPost]
    public HttpResponseMessage Complete(__ServiceComplete ServiceCompleteInfo)
    {
        HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.BadRequest);

                // Send SMS to User for completion
                //////////////////////////////////////////////////////////////////
                SmsBL blSms = new SmsBL();
                blSms.SendServiceCompleteSms(ServiceCompleteInfo.ProposalId, ServiceCompleteInfo.CallId);


                response = new HttpResponseMessage(HttpStatusCode.OK);
            }

        return response;
    }
sendservicecompletems
函数是异步的

现在,我从android应用程序调用这个函数,并使用调试器监视所有内容

如果我对该行进行了注释,并且没有调用SendServiceCompleteMs,我会在android应用程序中收到Http.OK响应

如果我取消对
sendservicecompletems
的注释,则会发送一条SMS,我可以看到该方法从服务器返回
Http.OK
。但是,在Android中,我得到
Java.io.FileNotFoundException
,Http代码“Internal server error”(500),就好像找不到该方法一样


知道如何处理吗?

如果没有找到该方法,
sendservicecompletems方法
正在引发异常

另外,您说过
sendservicecompletems
方法是异步的,但您是同步调用它的。最好这样做:

[HttpPost]
public async Task<HttpResponseMessage> CompleteAsync(__ServiceComplete ServiceCompleteInfo)
{
    HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.BadRequest);

            // Send SMS to User for completion
            //////////////////////////////////////////////////////////////////
            SmsBL blSms = new SmsBL();
            await blSms.SendServiceCompleteSms(ServiceCompleteInfo.ProposalId, ServiceCompleteInfo.CallId);


            response = new HttpResponseMessage(HttpStatusCode.OK);
        }

    return response;
}
[HttpPost]
公共异步任务CompleteAsync(\u serviceCompleteServiceCompleteInfo)
{
HttpResponseMessage response=新的HttpResponseMessage(HttpStatusCode.BadRequest);
//发送短信给用户完成
//////////////////////////////////////////////////////////////////
SmsBL blSms=新SmsBL();
等待blSms.sendservicecompletems(ServiceCompleteInfo.ProposalId,ServiceCompleteInfo.CallId);
响应=新的HttpResponseMessage(HttpStatusCode.OK);
}
返回响应;
}

太棒了。非常感谢。