diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartFactory.cs b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartFactory.cs
index 6524ba6bae..71dc6a0b41 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartFactory.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartFactory.cs
@@ -19,27 +19,17 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
///
public abstract class ApplicationPartFactory
{
- public static readonly string DefaultContextName = "Default";
-
- ///
- /// Default implementation for .
- ///
- public static ApplicationPartFactory Default { get; } = new DefaultApplicationPartFactory();
-
///
/// Gets one or more instances for the specified .
///
/// The .
- ///
- /// The context name. By default, value of this parameter is .
- ///
- public abstract IEnumerable GetApplicationParts(Assembly assembly, string context);
+ public abstract IEnumerable GetApplicationParts(Assembly assembly);
///
/// Gets the for the specified assembly.
///
/// An assembly may specify an using .
- /// Otherwise, is used.
+ /// Otherwise, is used.
///
///
/// The .
@@ -54,7 +44,7 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
var provideAttribute = assembly.GetCustomAttribute();
if (provideAttribute == null)
{
- return ApplicationPartFactory.Default;
+ return DefaultApplicationPartFactory.Instance;
}
var type = provideAttribute.GetFactoryType();
@@ -68,18 +58,5 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
return (ApplicationPartFactory)Activator.CreateInstance(type);
}
-
- private class DefaultApplicationPartFactory : ApplicationPartFactory
- {
- public override IEnumerable GetApplicationParts(Assembly assembly, string context)
- {
- if (assembly == null)
- {
- throw new ArgumentNullException(nameof(assembly));
- }
-
- yield return new AssemblyPart(assembly);
- }
- }
}
}
diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartManager.cs b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartManager.cs
index 3de5a48338..1636c61df7 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartManager.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/ApplicationPartManager.cs
@@ -59,7 +59,7 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
foreach (var assembly in applicationAssemblies)
{
var partFactory = ApplicationPartFactory.GetApplicationPartFactory(assembly);
- foreach (var part in partFactory.GetApplicationParts(assembly, context: ApplicationPartFactory.DefaultContextName))
+ foreach (var part in partFactory.GetApplicationParts(assembly))
{
ApplicationParts.Add(part);
}
diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/DefaultApplicationPartFactory.cs b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/DefaultApplicationPartFactory.cs
new file mode 100644
index 0000000000..60a08f7974
--- /dev/null
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/DefaultApplicationPartFactory.cs
@@ -0,0 +1,44 @@
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+using System;
+using System.Collections.Generic;
+using System.Reflection;
+
+namespace Microsoft.AspNetCore.Mvc.ApplicationParts
+{
+ ///
+ /// Default .
+ ///
+ public class DefaultApplicationPartFactory : ApplicationPartFactory
+ {
+ ///
+ /// Gets an instance of .
+ ///
+ public static DefaultApplicationPartFactory Instance { get; } = new DefaultApplicationPartFactory();
+
+ ///
+ /// Gets the sequence of instances that are created by this instance of .
+ ///
+ /// Applications may use this method to get the same behavior as this factory produces during MVC's default part discovery.
+ ///
+ ///
+ /// The .
+ /// The sequence of instances.
+ public static IEnumerable GetDefaultApplicationParts(Assembly assembly)
+ {
+ if (assembly == null)
+ {
+ throw new ArgumentNullException(nameof(assembly));
+ }
+
+ yield return new AssemblyPart(assembly);
+ }
+
+ ///
+ public override IEnumerable GetApplicationParts(Assembly assembly)
+ {
+ return GetDefaultApplicationParts(assembly);
+ }
+ }
+}
diff --git a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/NullApplicationPartFactory.cs b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/NullApplicationPartFactory.cs
index 06e48018e5..6fe7ff39ff 100644
--- a/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/NullApplicationPartFactory.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Core/ApplicationParts/NullApplicationPartFactory.cs
@@ -16,7 +16,7 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
public class NullApplicationPartFactory : ApplicationPartFactory
{
///
- public override IEnumerable GetApplicationParts(Assembly assembly, string context)
+ public override IEnumerable GetApplicationParts(Assembly assembly)
{
return Enumerable.Empty();
}
diff --git a/src/Microsoft.AspNetCore.Mvc.Razor/ApplicationParts/CompiledRazorAssemblyApplicationPartFactory.cs b/src/Microsoft.AspNetCore.Mvc.Razor/ApplicationParts/CompiledRazorAssemblyApplicationPartFactory.cs
index d4b4243592..daee08d222 100644
--- a/src/Microsoft.AspNetCore.Mvc.Razor/ApplicationParts/CompiledRazorAssemblyApplicationPartFactory.cs
+++ b/src/Microsoft.AspNetCore.Mvc.Razor/ApplicationParts/CompiledRazorAssemblyApplicationPartFactory.cs
@@ -12,8 +12,15 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
///
public class CompiledRazorAssemblyApplicationPartFactory : ApplicationPartFactory
{
- ///
- public override IEnumerable GetApplicationParts(Assembly assembly, string configuration)
+ ///
+ /// Gets the sequence of instances that are created by this instance of .
+ ///
+ /// Applications may use this method to get the same behavior as this factory produces during MVC's default part discovery.
+ ///
+ ///
+ /// The .
+ /// The sequence of instances.
+ public static IEnumerable GetDefaultApplicationParts(Assembly assembly)
{
if (assembly == null)
{
@@ -22,5 +29,8 @@ namespace Microsoft.AspNetCore.Mvc.ApplicationParts
yield return new CompiledRazorAssemblyPart(assembly);
}
+
+ ///
+ public override IEnumerable GetApplicationParts(Assembly assembly) => GetDefaultApplicationParts(assembly);
}
}