Web API Filter立即发送错误响应

时间:2017-04-28 23:48:20

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

优雅退出web api过滤器的标准方法是什么?

我似乎在web api过滤器中有以下两个选项:

  
      
  1. 抛出新的HttpResponseException(HttpStatusCode.BadRequest);
  2.   
  3. filterContext.Response = new HttpResponseMessage(HttpStatusCode.Unauthorized);
  4.   

选项一立即退出过滤器,但我必须抛出异常。

选项二看起来更优雅,但代码将继续在过滤器中,所以我不得不从我的过滤器中废话。

这样做的标准方法是什么?我的谷歌搜索没有导致明确的前进道路。是否有一些第三种独角兽的做法更神奇?

1 个答案:

答案 0 :(得分:0)

在与同事交谈后,我可能会得到答案。告诉我我的方法是否错误。

似乎重构我的过滤器会更好。我将我的过滤器代码放在一个返回bool的函数中。在我的功能中,我可以随时返回。然后我的过滤器只会检查bool响应并返回授权或未授权的