Castle Windsor IOC: pasar parámetros de constructor a componentes secundarios

El siguiente código es solo para fines de demostración.

Digamos que tengo 2 componentes (businessService y dataService) y una clase de interfaz de usuario.

La clase de IU necesita un servicio comercial, businessService necesita un dataService y dataService se basa en un connectionString.

Forme la clase de interfaz de usuario que necesito para resolver el servicio comercial, por lo que estoy escribiendo el siguiente código:

var service = container.Resolve<BusinessService>(new { dependancy = "con string 123" }));

observe que la dependencia es el parámetro del constructor connectionString.

Pero el código anterior no funciona, y dice que dataService espera una dependencia que no se satisfizo.

No se puede crear el componente 'dataService' ya que tiene dependencias que satisfacer. dataService está esperando las siguientes dependencias:

Claves (componentes con claves específicas): dependencia que no se registró.

Entonces, como solución, estoy haciendo esto:

var service = container.Resolve<BusinessService>(new { dataService = container.Resolve<IDataService>(new { dependancy = "123" }) });

Pero desde el diseño, el estilo de codificación y muchas perspectivas, esta no es una buena manera de hacerlo.

Por lo tanto, si puede aconsejar por qué no funciona de manera simple o si tiene una mejor solución, comparta.

Respuestas a la pregunta(3)

Su respuesta a la pregunta