0

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

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

有没有办法捕捉这个异常并向用户显示自定义消息?

4

1 回答 1

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" );
    }
于 2012-09-27T13:23:16.113 回答