2012-02-02 34 views
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); 
    } 
} 

回答

相关问题