2009-05-23 27 views
6

Tôi có một loạt các dịch vụ triển khai các giao diện khác nhau. ví dụ: IAlbumService, IMediaService v.v.Cấu trúc chặn InterMapor

Tôi muốn ghi nhật ký cuộc gọi đến từng phương thức trên các giao diện này. Làm thế nào để làm điều này bằng cách sử dụng StructureMap?

Tôi nhận thấy điều này là khá nhiều giống như điều này question nó chỉ là tôi không sử dụng windsor.

Trả lời

2

Tôi nghĩ bạn đang tìm kiếm 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"; 
} 

Tôi sẽ không sử dụng ObjectFactory trong ứng dụng thực tế, nhưng ít nhất là khái niệm ở đó.

+0

Đẹp nhất! Tôi không thể tin rằng bạn cuối cùng đã trả lời câu hỏi cũ 5yr của tôi :-) may mắn tôi đã không mất ngủ bất kỳ trên này, trên thực tế tôi thậm chí không thể nhớ những gì nó đã cho! –