WEB API OnAuthorization被称为两次

时间:2014-01-28 13:43:45

标签: asp.net-web-api

我正在开发用于授权的Web API解决方案,我们使用继承自AuthorizeAttribute的BasicHttpAuthorizeAttribute类来装饰每个控制器操作方法。

public class BasicHttpAuthorizeAttribute : System.Web.Http.AuthorizeAttribute

对于每个请求,我都会看到OnAuthorization方法被调用两次。当我检查callstack时,所有请求都是由同一个thread / processId完成的。我正在使用UnityContainer。我在WebApiConfig.cs中通过Custom Authorize注册。请让我知道两次调用的原因。

1 个答案:

答案 0 :(得分:2)

如果您在webapiconfig.cs中注册过滤器,它将针对每个传入请求运行。 如果使用过滤器修饰操作,它将针对该操作运行。 由于您注册了过滤器并对操作进行了修饰,因此它将运行两次。