WEB API OnAuthorization被称为两次

use*_*610 7 asp.net-web-api

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

public class BasicHttpAuthorizeAttribute : System.Web.Http.AuthorizeAttribute

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

Ped*_*anz 4

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

  • 这只是行动。但我发现一些帖子建议重写 AllowMultiple 属性以返回 false,这对我有用。 (3认同)