2009-05-23 12 views
6

Tengo un montón de servicios que implementan varias interfaces. por ejemplo, IAlbumService, IMediaService etc.Interceptores StructureMap

Quiero registrar llamadas a cada método en estas interfaces. ¿Cómo hago esto usando StructureMap?

Me doy cuenta de que esto es más o menos lo mismo que este question es solo que no estoy usando windsor.

Respuesta

2

Creo que está buscando this answer.

static void Main() 
{ 
    ObjectFactory.Configure(x => 
    { 
     x.For<Form>().Use<Form1>() 
      .InterceptWith(new ActivatorInterceptor<Form1>(y => Form1Interceptor(y), "Test")); 
    }); 
    Application.Run(ObjectFactory.GetInstance<Form>()); 

} 

public static void Form1Interceptor(Form f) 
{ 
    //Sets the title of the form window to "Testing" 
    f.Text = "Testing"; 
} 

No utilizaría ObjectFactory en una aplicación real, pero al menos el concepto está ahí.

+0

¡Bonito! No puedo creer que finalmente hayas respondido mi pregunta de hace 5 años :-) Afortunadamente no he perdido el sueño con esto, de hecho, ni siquiera recuerdo para qué fue. –

Cuestiones relacionadas