title: Executing a controller in global.asax which has area and dependency injection
body: <p>I am trying to execute a controller from <code>global.asax</code>. The controller sits in the root controller folder but the error happens within a controller that is inside an area within the web application. Below is the <code>global.asax</code> code:</p>
  
  <pre><code>protected override void Application_Error(object sender, EventArgs e)
  {
      var routeData = new RouteData();
      routeData.Values["controller"] = "error";
      routeData.Values["exception"] = ex;
      routeData.Values["action"] = "Index";
      routeData.Values["ErrorCode"] = 503;
  
      IController controller = ControllerBuilder.Current.GetControllerFactory().CreateController(HttpContext.Current.Request.RequestContext, "Error");
      controller.Execute(new RequestContext(new HttpContextWrapper(context), routeData));
  }
  </code></pre>
  
  <p>and here is the error I am getting:</p>
  
  <pre><code>The controller for path '/1985-books/usa/3rhvasdfasfd' was not found or does not implement IController.
  </code></pre>
  
  <p><strong>UPDATE:</strong></p>
  
  <p>This code worked perfectly when the controllers are not in the <code>area</code>, once I use this code in situation that controller which the error happens at, this error happens. I have a feeling by default it is looking for <code>Error</code> which is in the root directory and once it becomes a little complicated <code>Error</code> written in <code>uest.RequestContext, "Error");</code> cannot find the correct route.</p>