From a565f9ff5827f255babd839e7a4d539a6f4697ae Mon Sep 17 00:00:00 2001 From: mnltejaswini Date: Fri, 15 Apr 2016 13:29:49 -0700 Subject: [PATCH] [Perf] Reduce DefaultTagHelperContent allocations in LinkTagHelper and ScriptTagHelper Fixes #4468 --- src/Microsoft.AspNetCore.Mvc.TagHelpers/LinkTagHelper.cs | 6 +++--- src/Microsoft.AspNetCore.Mvc.TagHelpers/ScriptTagHelper.cs | 7 +++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.AspNetCore.Mvc.TagHelpers/LinkTagHelper.cs b/src/Microsoft.AspNetCore.Mvc.TagHelpers/LinkTagHelper.cs index b344975e83..b73162131c 100644 --- a/src/Microsoft.AspNetCore.Mvc.TagHelpers/LinkTagHelper.cs +++ b/src/Microsoft.AspNetCore.Mvc.TagHelpers/LinkTagHelper.cs @@ -256,7 +256,9 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers } } - var builder = new DefaultTagHelperContent(); + var builder = output.PostElement; + builder.Clear(); + if (mode == Mode.GlobbedHref || mode == Mode.Fallback && !string.IsNullOrEmpty(HrefInclude)) { BuildGlobbedLinkTags(output.Attributes, builder); @@ -278,8 +280,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers BuildFallbackBlock(builder); } - - output.PostElement.SetHtmlContent(builder); } private void BuildGlobbedLinkTags(TagHelperAttributeList attributes, TagHelperContent builder) diff --git a/src/Microsoft.AspNetCore.Mvc.TagHelpers/ScriptTagHelper.cs b/src/Microsoft.AspNetCore.Mvc.TagHelpers/ScriptTagHelper.cs index 3f4c46c75a..ff74569057 100644 --- a/src/Microsoft.AspNetCore.Mvc.TagHelpers/ScriptTagHelper.cs +++ b/src/Microsoft.AspNetCore.Mvc.TagHelpers/ScriptTagHelper.cs @@ -239,7 +239,8 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers } } - var builder = new DefaultTagHelperContent(); + var builder = output.PostElement; + builder.Clear(); if (mode == Mode.GlobbedSrc || mode == Mode.Fallback && !string.IsNullOrEmpty(SrcInclude)) { @@ -262,8 +263,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers BuildFallbackBlock(output.Attributes, builder); } - - output.PostElement.SetHtmlContent(builder); } private void BuildGlobbedScriptTags( @@ -289,7 +288,7 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers } } - private void BuildFallbackBlock(TagHelperAttributeList attributes, DefaultTagHelperContent builder) + private void BuildFallbackBlock(TagHelperAttributeList attributes, TagHelperContent builder) { EnsureGlobbingUrlBuilder();