From d388aa58c8b8e15d9d0c3eb0a018fcf13670ad9f Mon Sep 17 00:00:00 2001 From: Pranav K Date: Mon, 30 Mar 2015 12:53:01 -0700 Subject: [PATCH] Remove caching from QueryStringValueProviderFactory Fixes #2258 --- .../QueryStringValueProviderFactory.cs | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/QueryStringValueProviderFactory.cs b/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/QueryStringValueProviderFactory.cs index 2d303465ab..e37cece8c0 100644 --- a/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/QueryStringValueProviderFactory.cs +++ b/src/Microsoft.AspNet.Mvc.ModelBinding/ValueProviders/QueryStringValueProviderFactory.cs @@ -6,31 +6,19 @@ using Microsoft.Framework.Internal; namespace Microsoft.AspNet.Mvc.ModelBinding { + /// + /// A that creates instances that + /// read values from the request query-string. + /// public class QueryStringValueProviderFactory : IValueProviderFactory { - private static readonly object _cacheKey = new object(); - + /// public IValueProvider GetValueProvider([NotNull] ValueProviderFactoryContext context) { - // Process the query collection once-per request. - var storage = context.HttpContext.Items; - object value; - IValueProvider provider; - if (!storage.TryGetValue(_cacheKey, out value)) - { - var queryCollection = context.HttpContext.Request.Query; - provider = new ReadableStringCollectionValueProvider( - BindingSource.Query, - queryCollection, - CultureInfo.InvariantCulture); - - storage[_cacheKey] = provider; - } - else - { - provider = (ReadableStringCollectionValueProvider)value; - } - return provider; + return new ReadableStringCollectionValueProvider( + BindingSource.Query, + context.HttpContext.Request.Query, + CultureInfo.InvariantCulture); } } }