Parâmetros de tempo de execução de autofac

Eu sou novo no autofac e estou procurando as melhores práticas para passar valores de tempo de execução para o construtor. Eu li várias perguntas sobre stackoverflow em que isso é feito, mas nenhuma é totalmente detalhada. Devemos usar delegados, fábricas para criar serviços etc. Sei que passar o contêiner não é a melhor maneira de fazer isso.

No meu caso particular, eu tenho um serviço que acessa várias dependências, como log, provedor de dados, etc. Além dos poucos serviços passados, também tenho parâmetros de tempo de execução que preciso capturar, digamos userid, senha. O ID do usuário e a senha são necessários para o SomeService e são procurados quando um visualizador da Web executa uma ação específica. Abaixo está o que tenho e destaquei o problema.

public class SomeService : ISomeService
{
    private readonly IDataProvider _dataProvider;
    private readonly ILog _log;
    private readonly string _username;  
    private readonly string _password;

    public SomeService(IDataProvider dataProvider, ILog log,
        string username, string password)
    {
      _dataProvider = dataProvider;
      _log = log;
      _username = username;
      _password = password;
    }
}

O provedor de dados e o log são configurados no autofac

builder.RegisterType<DataProviderService>().As<IDataProvider>()
builder.RegisterType<SomeLogService>().As<ILog>()

A maior parte da funcionalidade desse "SomeService" requer um nome de usuário e senha para verificar antes da execução das tarefas; portanto, é melhor passar para o construtor ao criar, mas nunca atendeu aos requisitos de tempo de execução do autofac. Eu revi a perguntaAutofac - resolvendo parâmetros de tempo de execução sem precisar passar o contêiner e parece próximo do que eu preciso, mas preciso de mais alguns comentários sobre a melhor maneira de fazer isso.

questionAnswers(2)

yourAnswerToTheQuestion