diff --git a/src/Mvc/Mvc.Core/src/ModelBinding/Binders/CancellationTokenModelBinderProvider.cs b/src/Mvc/Mvc.Core/src/ModelBinding/Binders/CancellationTokenModelBinderProvider.cs
index b3ee6f7361..6819805276 100644
--- a/src/Mvc/Mvc.Core/src/ModelBinding/Binders/CancellationTokenModelBinderProvider.cs
+++ b/src/Mvc/Mvc.Core/src/ModelBinding/Binders/CancellationTokenModelBinderProvider.cs
@@ -11,6 +11,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
///
public class CancellationTokenModelBinderProvider : IModelBinderProvider
{
+ // CancellationTokenModelBinder does not have any state. Re-use the same instance for binding.
+
+ private readonly CancellationTokenModelBinder _modelBinder = new CancellationTokenModelBinder();
+
///
public IModelBinder GetBinder(ModelBinderProviderContext context)
{
@@ -21,7 +25,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
if (context.Metadata.ModelType == typeof(CancellationToken))
{
- return new CancellationTokenModelBinder();
+ return _modelBinder;
}
return null;
diff --git a/src/Mvc/Mvc.Core/src/ModelBinding/Binders/ServicesModelBinderProvider.cs b/src/Mvc/Mvc.Core/src/ModelBinding/Binders/ServicesModelBinderProvider.cs
index 2dea775a0a..b09d625c4d 100644
--- a/src/Mvc/Mvc.Core/src/ModelBinding/Binders/ServicesModelBinderProvider.cs
+++ b/src/Mvc/Mvc.Core/src/ModelBinding/Binders/ServicesModelBinderProvider.cs
@@ -10,6 +10,10 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
///
public class ServicesModelBinderProvider : IModelBinderProvider
{
+ // ServicesModelBinder does not have any state. Re-use the same instance for binding.
+
+ private readonly ServicesModelBinder _modelBinder = new ServicesModelBinder();
+
///
public IModelBinder GetBinder(ModelBinderProviderContext context)
{
@@ -21,7 +25,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
if (context.BindingInfo.BindingSource != null &&
context.BindingInfo.BindingSource.CanAcceptDataFrom(BindingSource.Services))
{
- return new ServicesModelBinder();
+ return _modelBinder;
}
return null;