2009-05-23 5 views
6

Ho un sacco di servizi che implementano varie interfacce. ad esempio, IAlbumService, IMediaService ecc.StructureMap Interceptors

Desidero registrare le chiamate a ciascun metodo su queste interfacce. Come faccio a usare StructureMap?

Mi rendo conto che questo è più o meno lo stesso di questo question è solo che non sto usando il windsor.

risposta

2

Penso che stiate cercando 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"; 
} 

Non vorrei utilizzare ObjectFactory in un'applicazione reale, ma almeno il concetto è lì.

+0

Bello! Non posso credere che tu abbia finalmente risposto alla mia vecchia domanda di 5 anni :-) per fortuna non ho perso il sonno per questo, infatti non riesco nemmeno a ricordare a cosa servisse! –