diff --git a/src/Microsoft.AspNetCore.ResponseCaching/Internal/DefaultResponseCacheEntrySerializer.cs b/src/Microsoft.AspNetCore.ResponseCaching/Internal/DefaultResponseCacheEntrySerializer.cs index 23b06f26a7..e0079b1a2c 100644 --- a/src/Microsoft.AspNetCore.ResponseCaching/Internal/DefaultResponseCacheEntrySerializer.cs +++ b/src/Microsoft.AspNetCore.ResponseCaching/Internal/DefaultResponseCacheEntrySerializer.cs @@ -37,7 +37,7 @@ namespace Microsoft.AspNetCore.ResponseCaching.Internal // Serialization Format // Format version (int) - // Type (string) + // Type (char: 'R' for CachedResponse, 'V' for CachedVaryBy) // Type-dependent data (see CachedResponse and CachedVaryBy) public static object Read(BinaryReader reader) { @@ -51,14 +51,14 @@ namespace Microsoft.AspNetCore.ResponseCaching.Internal return null; } - var type = reader.ReadString(); + var type = reader.ReadChar(); - if (string.Equals(nameof(CachedResponse), type)) + if (type == 'R') { var cachedResponse = ReadCachedResponse(reader); return cachedResponse; } - else if (string.Equals(nameof(CachedVaryBy), type)) + else if (type == 'V') { var cachedResponse = ReadCachedVaryBy(reader); return cachedResponse; @@ -150,7 +150,7 @@ namespace Microsoft.AspNetCore.ResponseCaching.Internal // See serialization format above private static void WriteCachedResponse(BinaryWriter writer, CachedResponse entry) { - writer.Write(nameof(CachedResponse)); + writer.Write('R'); writer.Write(entry.Created.UtcTicks); writer.Write(entry.StatusCode); writer.Write(entry.Headers.Count); @@ -167,7 +167,7 @@ namespace Microsoft.AspNetCore.ResponseCaching.Internal // See serialization format above private static void WriteCachedVaryBy(BinaryWriter writer, CachedVaryBy entry) { - writer.Write(nameof(CachedVaryBy)); + writer.Write('V'); writer.Write(entry.Headers.Count); foreach (var header in entry.Headers) diff --git a/src/Microsoft.AspNetCore.ResponseCaching/ResponseCachingContext.cs b/src/Microsoft.AspNetCore.ResponseCaching/ResponseCachingContext.cs index 1fcb159239..01ec34915d 100644 --- a/src/Microsoft.AspNetCore.ResponseCaching/ResponseCachingContext.cs +++ b/src/Microsoft.AspNetCore.ResponseCaching/ResponseCachingContext.cs @@ -192,7 +192,7 @@ namespace Microsoft.AspNetCore.ResponseCaching builder.Append(KeyDelimiter) .Append('Q'); - if (varyBy.Params.Count == 1 && string.Equals(varyBy.Params[0], "*")) + if (varyBy.Params.Count == 1 && string.Equals(varyBy.Params[0], "*", StringComparison.Ordinal)) { // Vary by all available query params foreach (var query in _httpContext.Request.Query.OrderBy(q => q.Key, StringComparer.OrdinalIgnoreCase))