Skip to content

Commit cfca5cc

Browse files
committed
Merge remote-tracking branch 'bugfixone/master'
2 parents 513a91e + 07d67f1 commit cfca5cc

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

DevTrends.MvcDonutCaching/KeyGenerator.cs

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,35 @@ public string GenerateKey(ControllerContext context, CacheSettings cacheSettings
3838

3939
foreach (var formKey in context.HttpContext.Request.Form.AllKeys)
4040
{
41-
if (!routeValues.ContainsKey(formKey.ToLowerInvariant()))
41+
if (routeValues.ContainsKey(formKey.ToLowerInvariant()))
4242
{
43-
routeValues.Add(formKey.ToLowerInvariant(),
44-
context.HttpContext.Request.Form[formKey].ToLowerInvariant());
43+
continue;
4544
}
45+
46+
var item = context.HttpContext.Request.Form[formKey];
47+
routeValues.Add(
48+
formKey.ToLowerInvariant(),
49+
item != null
50+
? item.ToLowerInvariant()
51+
: string.Empty
52+
);
4653
}
4754

4855
foreach (var queryStringKey in context.HttpContext.Request.QueryString.AllKeys)
4956
{
5057
// queryStringKey is null if url has qs name without value. e.g. test.com?q
51-
if (queryStringKey != null && !routeValues.ContainsKey(queryStringKey.ToLowerInvariant()))
58+
if (queryStringKey == null || routeValues.ContainsKey(queryStringKey.ToLowerInvariant()))
5259
{
53-
routeValues.Add(queryStringKey.ToLowerInvariant(),
54-
context.HttpContext.Request.QueryString[queryStringKey].ToLowerInvariant());
60+
continue;
5561
}
62+
63+
var item = context.HttpContext.Request.QueryString[queryStringKey];
64+
routeValues.Add(
65+
queryStringKey.ToLowerInvariant(),
66+
item != null
67+
? item.ToLowerInvariant()
68+
: string.Empty
69+
);
5670
}
5771
}
5872

0 commit comments

Comments
 (0)