我正在尝试使用Castle Windsor Kernal的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;
}
}
答案 0 :(得分:0)
我不确定你说的部分
事件似乎根本没有发生
它适用于我的机器......
至于潜在的问题,像这样的事件处理程序不是修改ComponentModel
本身的正确位置。