我如何制作一个可以返回结果或未经授权的ASP.NET Web API控制器方法?

时间:2019-06-26 15:25:14

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

我有这个控制器方法:

public IEnumerable<GetPersonListResult> Get()
{
    var systemID = Authenticator.AuthenticateUser(Request);
    if (systemID == 0)
        return Unauthorized();
    var dc = DataContextFactory.GeneralDataContext(ConnectionStrings.GetSystemConnectionString(systemID));
    return dc.GetPersonList(null, null, null, null, null, null);
}

但是在return Unauthorized();行上出现编译错误,因为该调用的结果无法转换为IEnumerable<GetPersonListResult>。如何更改此方法,使其可以返回有问题的数据或Unauthorized()的结果?

1 个答案:

答案 0 :(得分:1)

由于您要返回类型IHttpActionResult(例如Unauthorized()),因此与其在方法结尾不返回dc.GetPersonList,而是要{ {1}},并将return Ok()作为参数传递。

重构为:

dc.GetPersonList()

有关更多信息,请参见the MS docs