[Perf] Reduce DefaultTagHelperContent allocations in LinkTagHelper and ScriptTagHelper

Fixes #4468
This commit is contained in:
mnltejaswini 2016-04-15 13:29:49 -07:00
parent fa34f61d46
commit a565f9ff58
2 changed files with 6 additions and 7 deletions

View File

@ -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)) if (mode == Mode.GlobbedHref || mode == Mode.Fallback && !string.IsNullOrEmpty(HrefInclude))
{ {
BuildGlobbedLinkTags(output.Attributes, builder); BuildGlobbedLinkTags(output.Attributes, builder);
@ -278,8 +280,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
BuildFallbackBlock(builder); BuildFallbackBlock(builder);
} }
output.PostElement.SetHtmlContent(builder);
} }
private void BuildGlobbedLinkTags(TagHelperAttributeList attributes, TagHelperContent builder) private void BuildGlobbedLinkTags(TagHelperAttributeList attributes, TagHelperContent builder)

View File

@ -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)) if (mode == Mode.GlobbedSrc || mode == Mode.Fallback && !string.IsNullOrEmpty(SrcInclude))
{ {
@ -262,8 +263,6 @@ namespace Microsoft.AspNetCore.Mvc.TagHelpers
BuildFallbackBlock(output.Attributes, builder); BuildFallbackBlock(output.Attributes, builder);
} }
output.PostElement.SetHtmlContent(builder);
} }
private void BuildGlobbedScriptTags( 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(); EnsureGlobbingUrlBuilder();