为什么我看不到ApiController的公共方法?

时间:2015-11-16 11:59:00

标签: c# asp.net-web-api

我的Asp.Net应用程序中有 ApiController ,我想使用 Ok(),NotFound(),BadRequest()之类的方法,而不是状态代码。但由于某些原因这些方法在我的ApiController 中不可用于System.Web.Http命名空间。请看下面的截图。

enter image description here

你有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的WebAPI?您没有在方法声明中使用正确的返回类型。

public IHttpActionResult Get(int id)
{ 
    var product = new Product();
    return Ok(product);
}

在较新版本中,您可以执行以下操作或类似的操作

public async Task<IHttpActionResult> Get()
{
    return new OkResult(new HttpRequestMessage());
}

此外,您可以使用其他各种。我想你只是对如何访问它们感到困惑:

new BadRequestResult(new HttpRequestMessage());
new NotFoundResult(new HttpRequestMessage());