public ControllerExecutor(object controller, IExecutionContext executionContext)
{
if (controller == null) throw new ArgumentNullException("controller");
if (executionContext == null) throw new ArgumentNullException("executionContext");
UrlInfo url = executionContext.OriginalUrl;
IController properController = controller as IController;
if (properController != null)
{
properController.SetInitialState(url.Area, url.Controller, url.Action);
}
this.controller = controller;
this.executionContext = executionContext;
}