将AOP应用于三层winforms应用程序

将AOP应用于三层winforms应用程序,winforms,aop,3-tier,Winforms,Aop,3 Tier,背景 我正在尝试为一个新项目使用AOP实现日志记录和异常处理。 我希望通过Windows窗体应用程序的所有3层应用此功能。 我用温莎城堡作为容器 我已经成功地通过AOP将日志记录应用到一个非常简单的示例中。 但事实证明,将其扩展到winforms应用程序是困难的 问题 我设法在容器中注册了主表单,并应用了日志方面。 但是,winforms在所有事件中都受到了影响。 (例如:get_ForeColor、get_BackColor、OnControl Added、DefWndProc、Destroy

背景

我正在尝试为一个新项目使用AOP实现日志记录和异常处理。 我希望通过Windows窗体应用程序的所有3层应用此功能。 我用温莎城堡作为容器

我已经成功地通过AOP将日志记录应用到一个非常简单的示例中。 但事实证明,将其扩展到winforms应用程序是困难的

问题

我设法在容器中注册了主表单,并应用了日志方面。 但是,winforms在所有事件中都受到了影响。 (例如:get_ForeColor、get_BackColor、OnControl Added、DefWndProc、DestroyHandle等)

我实际需要记录的事件和方法没有显示在日志文件中(方面)。 我做错了什么。AOP总是需要接口实现吗

我还想知道AOP的框架(或架构)应该是什么样子。 3层中所有组件的注册方式和注册地点。 是否应该在应用程序启动时启动?任何例子的链接都会非常有用

PS:这是我第一次尝试实现AOP。此外,我还必须在vb.net中编写代码,我对此不太熟悉。
此外,我不能使用Post Sharp(资金是个问题)。

既然您使用的是Castle Windsor,这是否意味着您将Castle DynamicProxy用于AOP?@mgroves:我将Castle.DynamicProxy用于AOP。我也不熟悉使用容器,所以我第一次回答你的时候不太确定。