我创建了一个ActionFilter,在这个过滤器中,我将服务注入为构造函数注入。 这些服务各自实现许多服务。 当我想在FilterConfig.cs
中设置我的动作过滤器时,我遇到了错误。显然对于需要服务的构造函数。
public class PermissionControlActionFilter : ActionFilterAttribute
{
readonly IApplicationUserManager _usermanager;
readonly IPermissionHelper _permissionhelper;
public PermissionControlActionFilter(IApplicationUserManager usermanager, IPermissionHelper permissionHelper)
{
_usermanager = usermanager;
_permissionhelper = permissionHelper;
}...
谢谢。
看看这篇文章和对类似问题的回答,我想你会得到正确的。
本文和答案的要点是,您的属性不应该执行这项工作,因为属性没有对 DI 有效的构造函数。另一方面,过滤器可以检查特定属性是否存在,如果存在,则执行工作。