Я хотел бы использовать autofac IoC для инициализации моей службы, которая внедряется в конструктор контроллера MVC. Предположим, что интерфейс сервиса выглядит так:
public interface IService
{
void SetValidationContainer(IReadOnlyDictionary<string, ModelStateEntry> validations);
}
И контроллер контроллера:
public class HelloWorldController : Controller
{
private readonly IService _service;
public HelloWorldController(IService service)
{
_service = service;
_service.SetValidationContainer(ModelState);
}
}
Можно ли переместить вызов «SetValidationContainer(ModelState)» в конфигурацию DI? И используйте что-то вроде этого:
container.Register<IService>
.As<ServiceImplementaion>
.AfterInjectedInto<Controller>
.Call(service, controller => service.SetValidationContainer(controller.ModelState));