From 81a4cfbfbf98e0f62adedc0b2160f9e09f888996 Mon Sep 17 00:00:00 2001 From: David Fowler Date: Sat, 14 Dec 2013 15:58:06 -0800 Subject: [PATCH] Call into the IActionResultFactory only if the return value isn't IActionResult. --- Microsoft.AspNet.Mvc/ActionResultFactory.cs | 7 ------- Microsoft.AspNet.Mvc/ControllerActionInvoker.cs | 3 ++- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/Microsoft.AspNet.Mvc/ActionResultFactory.cs b/Microsoft.AspNet.Mvc/ActionResultFactory.cs index 70b69165c1..a286be13be 100644 --- a/Microsoft.AspNet.Mvc/ActionResultFactory.cs +++ b/Microsoft.AspNet.Mvc/ActionResultFactory.cs @@ -7,13 +7,6 @@ namespace Microsoft.AspNet.Mvc { public IActionResult CreateActionResult(object actionReturnValue) { - var actionResult = actionReturnValue as IActionResult; - - if (actionResult != null) - { - return actionResult; - } - var responseMessage = actionReturnValue as HttpResponseMessage; if (responseMessage != null) { diff --git a/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs b/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs index 360195b216..909a525054 100644 --- a/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs +++ b/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs @@ -47,7 +47,8 @@ namespace Microsoft.AspNet.Mvc object actionReturnValue = method.Invoke(controller, null); - IActionResult actionResult = _actionResultFactory.CreateActionResult(actionReturnValue); + // If it's not already an IActionResult then call into the factory + var actionResult = actionReturnValue as IActionResult ?? _actionResultFactory.CreateActionResult(actionReturnValue); return actionResult.ExecuteResultAsync(_requestContext); }