0

我正在尝试使用 Castle Windsor Kernal 的 tje ComponentModelCreated 事件来管理我的组件的生活方式。

问题是事件似乎根本没有触发?我一定是在错误地使用它吗?请在下面查看我的代码,我很想知道我哪里出错了。

谢谢。

在我的 Application_Start 中:

Container = new WindsorContainer().Install(FromAssembly.This());
Container.Kernel.ComponentModelCreated += WindsorExtension.Kernel_ComponentModelCreated;  

方法:

public static void Kernel_ComponentModelCreated(ComponentModel model)
        {
            if (model.LifestyleType == LifestyleType.Undefined && model.Name.EndsWith("Controller"))
            {
                model.LifestyleType = LifestyleType.Transient;
            }
            else if (model.LifestyleType == LifestyleType.Undefined)
            {
                model.LifestyleType = LifestyleType.PerWebRequest;
            }
        }
4

1 回答 1

0

我不确定你说的那部分

该事件似乎根本没有触发

它可以在我的机器上运行...

至于根本问题,像这样的事件处理程序不是修改ComponentModel自身的正确位置。

为此使用ComponentModel 构造贡献者

于 2012-11-25T22:17:27.020 回答