我正在尝试使用 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;
}
}