From cfd9bfe13b788cf3e2b1f7935d6a1bfa1f9c8c04 Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Mon, 24 Aug 2015 15:20:55 -0700 Subject: [PATCH] [PERF] Remove extra ModelStateDictionary allocations The copy constructor is chaining to the wrong constructor. This results in an extra 8 allocations of ModelStateDictionary per-request. All of the various filter contexts inherit from ActionContext, that's how you get the 8 extras. Small problem but easy fix. --- src/Microsoft.AspNet.Mvc.Abstractions/ActionContext.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.Abstractions/ActionContext.cs b/src/Microsoft.AspNet.Mvc.Abstractions/ActionContext.cs index 9d2642c255..b9b7e65fc7 100644 --- a/src/Microsoft.AspNet.Mvc.Abstractions/ActionContext.cs +++ b/src/Microsoft.AspNet.Mvc.Abstractions/ActionContext.cs @@ -29,9 +29,12 @@ namespace Microsoft.AspNet.Mvc /// /// The to copy. public ActionContext([NotNull] ActionContext actionContext) - : this(actionContext.HttpContext, actionContext.RouteData, actionContext.ActionDescriptor) + : this( + actionContext.HttpContext, + actionContext.RouteData, + actionContext.ActionDescriptor, + actionContext.ModelState) { - ModelState = actionContext.ModelState; } ///