从后面的ASP代码调用ApiController,得到null参数错误

时间:2016-09-06 21:04:59

标签: c# asp.net

我正在从后面的ASP代码调用Web API控制器。它是一个Web API而不仅仅是普通代码,因为有一个桌面客户端也需要调用它。该调用在桌面客户端上作为HTTP帖子正常工作。但是,在ASP方面,我在控制器的Reqeust.CreateResponse()行上得到一个ArgumentNullException。导致此错误的原因是什么?

对于它的价值,控制器中的其他所有内容实际上都按预期运行。这只是因为发生错误而导致api调用之后asp页面没有刷新。

这是一个例外:

Exception thrown: 'System.ArgumentNullException' in System.Web.Http.dll
Additional information: Value cannot be null.
Message: Value cannot be null. Parameter name: request

以下是我的代码的简化视图:

API控制器

public class ImageUploadServiceController : ApiController
{
    public ImageUploadServiceController() { }

    [HttpPost]
    public HttpResponseMessage UploadImage([FromBody] ImageUploadMessage data)
    {
       // Do some logic here
       Request.CreateResponse<string>(HttpStatusCode.OK, String.Format("Upload successful!"));
    }
}

ASP代码

protected void btn_Click(object sender, ImageClickEventArgs e)
{
    ImageUploadMessage req = new ImageUploadMessage(){ //Data };

    var config = new HttpConfiguration();
    ImageUploadServiceController controller = new ImageUploadServiceController();
    controller.UploadImage(req);
}

0 个答案:

没有答案