0
我修改我的WindsorControllerFactory抛出HttpException 404时所要求的控制器不存在掷404时请求的URL /控制器不存在
,但我不知道这是做的好方法这个,任何人都知道这是否会有问题?
public class WindsorControllerFactory : DefaultControllerFactory
{
readonly IWindsorContainer container;
public WindsorControllerFactory(IWindsorContainer container)
{
this.container = container;
var controllerTypes =
from t in Assembly.GetExecutingAssembly().GetTypes()
where typeof(IController).IsAssignableFrom(t)
select t;
foreach (var t in controllerTypes)
container.Register(Component.For(t).LifeStyle.Transient);
}
protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
{
//if (controllerType == null) return null;
if (controllerType == null) throw new HttpException(404, "page not found");
return (IController)container.Resolve(controllerType);
}
}