Pase el valor de tiempo de ejecución al constructor utilizando Simple Injector abd WebFormsMVP

Estoy tratando de combinarSimpleInjector con WebFormsMvp.

Para facilitar DI WebFormsMvp proporciona laIPresenterFactory interfaz.
Contiene laCreate método que proporciona latipo de presentador para resolver y elver instancia.
necesitoinyectar laver instancia en laconstructor de lapresentador.
El presentadorademás tieneotras dependencias que necesita crearpor el contenedor.

Esto es lo que obtuve hasta ahora, pero no es lo ideal.
Cual es elsolución correcta para el problema?

Constructor presentador:

public FooPresenter(IFooView view, IClientFactory clientFactory) : base(view)

Fábrica:

public class SimpleInjectorPresenterFactory : IPresenterFactory
{
    private readonly Container _container;
    private IView _currentView;

    public SimpleInjectorPresenterFactory()
    {
        _container = new Container();

        Func<Type, bool> isIView = 
            type => typeof(IView).IsAssignableFrom(type);

        _container.ResolveUnregisteredType += (s, e) => {
            if (isIView(e.UnregisteredServiceType))
                e.Register(() => _currentView);
        };
    }

    public IPresenter Create(Type presenterType, Type viewType, IView viewInstance)
    {
        lock (_currentView)
        {
            _currentView = viewInstance;
            return _container.GetInstance(presenterType) as IPresenter;
        }
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta