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); } } }