【问题标题】:Catch a ControllerNotFoundException in CastleProject Monorail在 Castle Project Monorail 中捕获控制器 NotFoundException
【发布时间】:2012-09-24 14:48:30
【问题描述】:

我正在使用标准的 Monorail/Windsor/ActiveRecord 堆栈来构建 Web 应用程序。在 Web 应用程序中,控制器是使用 xml 配置文件注册的(对于 Windsor)。

当配置文件中没有定义控制器时,MonoRailHttpHandlerFactory 将(显然)抛出 ControllerNotFoundException。

有没有办法捕获此异常并向用户显示自定义消息?

【问题讨论】:

    标签: controller castle-windsor configuration-files castle castle-monorail


    【解决方案1】:

    您总是可以在您的 GLobalApplication 中的 Application_OnError() 事件处理程序中找出错误所在。我们这样做:

    public virtual void Application_OnError()
        {
            var error = Server.GetLastError();
    
            if ( error.GetType() != typeof( ControllerNotFoundException ) )
                return;
    
            // We don't want these errors in the event log
            Server.ClearError();
    
            //Handle page not found
    
            Server.TransferRequest( "/rescue/pagenotfound" );
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多