У меня есть этот фильтр действий, который я хочу вызвать из функции.Однако в этом фильтре я имею в виду другой класс, называемый ValidateRoleClient.Как я могу сделать сервисный впрыск?Или правильно вызвать этот класс в моей функции?
public class RolesFilterAttribute : ActionFilterAttribute
{
public ValidateRoleClient validateRoleClient;
public string Role { get; set; }
public RolesFilterAttribute(ValidateRoleClient validateRoleClient)
{
this.validateRoleClient = validateRoleClient;
}
public override void OnActionExecuting(ActionExecutingContext context)
{
if (context.HttpContext.Request.Cookies["Token"] != null || context.HttpContext.Request.Cookies["RefreshToken"] != null)
{
TokenViewModel tvm = new TokenViewModel
{
Token = context.HttpContext.Request.Cookies["Token"],
RefreshToken = context.HttpContext.Request.Cookies["RefreshToken"]
};
ValidateRoleViewModel vrvm = new ValidateRoleViewModel
{
Role = Role,
Token = tvm
};
validateRoleClient.ValidateRole(vrvm);
}
}
}
Вот как я ссылаюсь на фильтр в моей функции
[RolesFilter]
public IActionResult About()
{
return View();
}
Текущая ошибка, которую я получаю от этого
Код серьезности Описание Состояние подавления строки файла проекта CS7036 Не указан аргумент, соответствующий необходимому формальному параметру 'validateRoleClient' из 'RolesFilterAttribute.RolesFilterAttribute (ValidateRoleClient)'