我正在开发用于授权的Web API解决方案,我们使用继承自AuthorizeAttribute的BasicHttpAuthorizeAttribute
类来装饰每个控制器操作方法。
public class BasicHttpAuthorizeAttribute : System.Web.Http.AuthorizeAttribute
对于每个请求,我都会看到OnAuthorization方法被调用两次。当我检查callstack时,所有请求都是由同一个thread / processId完成的。我正在使用UnityContainer。我在WebApiConfig.cs中通过Custom Authorize注册。请让我知道两次调用的原因。
答案 0 :(得分:2)
如果您在webapiconfig.cs中注册过滤器,它将针对每个传入请求运行。 如果使用过滤器修饰操作,它将针对该操作运行。 由于您注册了过滤器并对操作进行了修饰,因此它将运行两次。