我正在从后面的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);
}