private void HandleCustomErrors(Exception exception)
{
var httpException = exception as HttpException;
if (httpException != null)
{
var status = httpException.GetHttpCode();
if (status == 404 || status == 403)
{
var routeData = new RouteData();
RouteHelper.InitErrorRoute(status, routeData);
// Clear the error on server.
Server.ClearError();
// Avoid IIS7 getting in the middle
Response.StatusCode = status;
Response.TrySkipIisCustomErrors = true;
// idially we should get controller throught servicelocator
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
}
}
}