@@ -208,19 +208,17 @@ public void AppendResponseCookie(HttpContext context, string key, string? value,
208208 var dataSizePerCookie = ChunkSize . Value - templateLength - 3 ; // Budget 3 chars for the chunkid.
209209 var cookieChunkCount = ( int ) Math . Ceiling ( value . Length * 1.0 / dataSizePerCookie ) ;
210210
211- List < KeyValuePair < string , string > > keyValuePairs = new ( cookieChunkCount )
212- {
213- KeyValuePair . Create ( key , ChunkCountPrefix + cookieChunkCount . ToString ( CultureInfo . InvariantCulture ) )
214- } ;
215-
211+ var keyValuePairs = new KeyValuePair < string , string > [ cookieChunkCount + 1 ] ;
212+ keyValuePairs [ 0 ] = KeyValuePair . Create ( key , ChunkCountPrefix + cookieChunkCount . ToString ( CultureInfo . InvariantCulture ) ) ;
213+
216214 var offset = 0 ;
217215 for ( var chunkId = 1 ; chunkId <= cookieChunkCount ; chunkId ++ )
218216 {
219217 var remainingLength = value . Length - offset ;
220218 var length = Math . Min ( dataSizePerCookie , remainingLength ) ;
221219 var segment = value . Substring ( offset , length ) ;
222220 offset += length ;
223- keyValuePairs . Add ( KeyValuePair . Create ( string . Concat ( key , ChunkKeySuffix , chunkId . ToString ( CultureInfo . InvariantCulture ) ) , segment ) ) ;
221+ keyValuePairs [ chunkId ] = KeyValuePair . Create ( string . Concat ( key , ChunkKeySuffix , chunkId . ToString ( CultureInfo . InvariantCulture ) ) , segment ) ;
224222 }
225223
226224 responseCookies . Append ( keyValuePairs , options ) ;
@@ -306,14 +304,12 @@ public void DeleteCookie(HttpContext context, string key, CookieOptions options)
306304
307305 var responseCookies = context . Response . Cookies ;
308306
309- List < KeyValuePair < string , string > > keyValuePairs = new ( chunks )
310- {
311- KeyValuePair . Create ( key , string . Empty )
312- } ;
313-
307+ var keyValuePairs = new KeyValuePair < string , string > [ chunks + 1 ] ;
308+ keyValuePairs [ 0 ] = KeyValuePair . Create ( key , string . Empty ) ;
309+
314310 for ( var i = 1 ; i <= chunks ; i ++ )
315311 {
316- keyValuePairs . Add ( KeyValuePair . Create ( string . Concat ( key , "C" , i . ToString ( CultureInfo . InvariantCulture ) ) , string . Empty ) ) ;
312+ keyValuePairs [ i ] = KeyValuePair . Create ( string . Concat ( key , "C" , i . ToString ( CultureInfo . InvariantCulture ) ) , string . Empty ) ;
317313 }
318314
319315 responseCookies . Append ( keyValuePairs , new CookieOptions ( )
0 commit comments