Я использую инъекции зависимостей конструктора на основе везде в моем ASP.NET CORE
приложения и мне также нужно решить зависимости в моих фильтров действий:Как использовать Action Filters с Injection Dependency в ASP.NET CORE?
public class MyAttribute : ActionFilterAttribute
{
public int Limit { get; set; } // some custom parameters passed from Action
private ICustomService CustomService { get; } // this must be resolved
public MyAttribute()
{
}
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
// my code
...
await next();
}
}
Тогда в контроллере:
[MyAttribute(Limit = 10)]
public IActionResult()
{
...
Если я ставлю ICustomService на конструктор, тогда я не могу скомпилировать свой проект. Итак, как мне суетиться, чтобы получить экземпляры интерфейса в фильтре действий?
Можете ли вы добавить сеттер в свойстве CustomService, чтобы он был доступен для записи? и добавить ICustomService в качестве параметра в конструкторе? –
Возможный дубликат [ASP.Net Core (MVC 6) - Inject service in Action Filter] (http://stackoverflow.com/questions/36109052/asp-net-core-mvc-6-inject-service-into-action -filter) – gilmishal
Возможный дубликат [Как добавить параметр в фильтр действий в asp.net?](http://stackoverflow.com/questions/39181390/how-do-i-add-a-parameter-to -an-action-filter-in-asp-net) –