From 6e347724b5fd9f4f1f0840ed03af3f16554e038f Mon Sep 17 00:00:00 2001 From: Chris R Date: Mon, 12 Oct 2015 11:38:24 -0700 Subject: [PATCH] React to IHeaderDictionary changes. --- .../CacheTagHelper.cs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/Microsoft.AspNet.Mvc.TagHelpers/CacheTagHelper.cs b/src/Microsoft.AspNet.Mvc.TagHelpers/CacheTagHelper.cs index 832bb21ec4..84d8a56395 100644 --- a/src/Microsoft.AspNet.Mvc.TagHelpers/CacheTagHelper.cs +++ b/src/Microsoft.AspNet.Mvc.TagHelpers/CacheTagHelper.cs @@ -271,6 +271,40 @@ namespace Microsoft.AspNet.Mvc.TagHelpers } } + private static void AddStringCollectionKey( + StringBuilder builder, + string keyName, + string value, + IHeaderDictionary sourceCollection) + { + if (!string.IsNullOrEmpty(value)) + { + // keyName(param1=value1|param2=value2) + builder.Append(CacheKeyTokenSeparator) + .Append(keyName) + .Append("("); + + var tokenFound = false; + foreach (var item in Tokenize(value)) + { + tokenFound = true; + + builder.Append(item) + .Append(CacheKeyTokenSeparator) + .Append(sourceCollection[item]) + .Append(CacheKeyTokenSeparator); + } + + if (tokenFound) + { + // Remove the trailing separator + builder.Length -= CacheKeyTokenSeparator.Length; + } + + builder.Append(")"); + } + } + private void AddVaryByRouteKey(StringBuilder builder) { var tokenFound = false;