diff --git a/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/CompiledPageActionDescriptorBuilder.cs b/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/CompiledPageActionDescriptorBuilder.cs
index c529c7bb4f..8fec2fd4a8 100644
--- a/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/CompiledPageActionDescriptorBuilder.cs
+++ b/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/CompiledPageActionDescriptorBuilder.cs
@@ -18,12 +18,16 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
/// Creates a from the specified .
///
/// The .
+ /// Global filters to apply to the page.
/// The .
- public static CompiledPageActionDescriptor Build(PageApplicationModel applicationModel)
+ public static CompiledPageActionDescriptor Build(
+ PageApplicationModel applicationModel,
+ FilterCollection globalFilters)
{
var boundProperties = CreateBoundProperties(applicationModel);
- var filters = applicationModel.Filters
- .Select(f => new FilterDescriptor(f, FilterScope.Action))
+ var filters = Enumerable.Concat(
+ globalFilters.Select(f => new FilterDescriptor(f, FilterScope.Global)),
+ applicationModel.Filters.Select(f => new FilterDescriptor(f, FilterScope.Action)))
.ToArray();
var handlerMethods = CreateHandlerMethods(applicationModel);
diff --git a/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageApplicationModelProvider.cs b/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageApplicationModelProvider.cs
index f253913c93..5e09d1519a 100644
--- a/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageApplicationModelProvider.cs
+++ b/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageApplicationModelProvider.cs
@@ -16,16 +16,6 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public class DefaultPageApplicationModelProvider : IPageApplicationModelProvider
{
private const string ModelPropertyName = "Model";
- private readonly FilterCollection _globalFilters;
-
- ///
- /// Initializes a new instance of .
- ///
- ///
- public DefaultPageApplicationModelProvider(IOptions mvcOptions)
- {
- _globalFilters = mvcOptions.Value.Filters;
- }
///
public int Order => -1000;
@@ -146,11 +136,6 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
internal void PopulateFilters(PageApplicationModel pageModel)
{
- for (var i = 0; i < _globalFilters.Count; i++)
- {
- pageModel.Filters.Add(_globalFilters[i]);
- }
-
for (var i = 0; i < pageModel.HandlerTypeAttributes.Count; i++)
{
if (pageModel.HandlerTypeAttributes[i] is IFilterMetadata filter)
diff --git a/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageLoader.cs b/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageLoader.cs
index 28ccd85e37..e31ed6d32b 100644
--- a/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageLoader.cs
+++ b/src/Microsoft.AspNetCore.Mvc.RazorPages/Internal/DefaultPageLoader.cs
@@ -6,6 +6,7 @@ using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
+using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
using Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure;
using Microsoft.Extensions.Options;
@@ -17,11 +18,13 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
private readonly IPageApplicationModelProvider[] _applicationModelProviders;
private readonly IViewCompilerProvider _viewCompilerProvider;
private readonly IPageApplicationModelConvention[] _conventions;
+ private readonly FilterCollection _globalFilters;
public DefaultPageLoader(
IEnumerable applicationModelProviders,
IViewCompilerProvider viewCompilerProvider,
- IOptions pageOptions)
+ IOptions pageOptions,
+ IOptions mvcOptions)
{
_applicationModelProviders = applicationModelProviders
.OrderBy(p => p.Order)
@@ -30,6 +33,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
_conventions = pageOptions.Value.Conventions
.OfType()
.ToArray();
+ _globalFilters = mvcOptions.Value.Filters;
}
private IViewCompiler Compiler => _viewCompilerProvider.GetCompiler();
@@ -61,7 +65,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
_conventions[i].Apply(context.PageApplicationModel);
}
- return CompiledPageActionDescriptorBuilder.Build(context.PageApplicationModel);
+ return CompiledPageActionDescriptorBuilder.Build(context.PageApplicationModel, _globalFilters);
}
}
}
\ No newline at end of file
diff --git a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/AuthorizationPageApplicationModelProviderTest.cs b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/AuthorizationPageApplicationModelProviderTest.cs
index 7da47e9589..feb20c2b98 100644
--- a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/AuthorizationPageApplicationModelProviderTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/AuthorizationPageApplicationModelProviderTest.cs
@@ -151,7 +151,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
private static PageApplicationModelProviderContext GetApplicationProviderContext(TypeInfo typeInfo)
{
- var defaultProvider = new DefaultPageApplicationModelProvider(new TestOptionsManager());
+ var defaultProvider = new DefaultPageApplicationModelProvider();
var context = new PageApplicationModelProviderContext(new PageActionDescriptor(), typeInfo);
defaultProvider.OnProvidersExecuting(context);
return context;
diff --git a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/CompiledPageActionDescriptorBuilderTest.cs b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/CompiledPageActionDescriptorBuilderTest.cs
index ca13fb3f37..e6b45a8c84 100644
--- a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/CompiledPageActionDescriptorBuilderTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/CompiledPageActionDescriptorBuilderTest.cs
@@ -31,9 +31,10 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
};
var handlerTypeInfo = typeof(object).GetTypeInfo();
var pageApplicationModel = new PageApplicationModel(actionDescriptor, handlerTypeInfo, new object[0]);
+ var globalFilters = new FilterCollection();
// Act
- var actual = CompiledPageActionDescriptorBuilder.Build(pageApplicationModel);
+ var actual = CompiledPageActionDescriptorBuilder.Build(pageApplicationModel, globalFilters);
// Assert
Assert.Same(actionDescriptor.ActionConstraints, actual.ActionConstraints);
@@ -78,9 +79,10 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
},
}
};
+ var globalFilters = new FilterCollection();
// Act
- var actual = CompiledPageActionDescriptorBuilder.Build(pageApplicationModel);
+ var actual = CompiledPageActionDescriptorBuilder.Build(pageApplicationModel, globalFilters);
// Assert
Assert.Same(pageApplicationModel.PageType, actual.PageTypeInfo);
@@ -92,6 +94,52 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
Assert.Equal(pageApplicationModel.HandlerProperties.Select(p => p.PropertyName), actual.BoundProperties.Select(p => p.Name));
}
+ [Fact]
+ public void CreateDescriptor_AddsGlobalFiltersWithTheRightScope()
+ {
+ // Arrange
+ var actionDescriptor = new PageActionDescriptor
+ {
+ ActionConstraints = new List(),
+ AttributeRouteInfo = new AttributeRouteInfo(),
+ FilterDescriptors = new List(),
+ RelativePath = "/Foo",
+ RouteValues = new Dictionary(),
+ ViewEnginePath = "/Pages/Foo",
+ };
+ var handlerTypeInfo = typeof(TestModel).GetTypeInfo();
+ var pageApplicationModel = new PageApplicationModel(actionDescriptor, handlerTypeInfo, new object[0])
+ {
+ PageType = typeof(TestPage).GetTypeInfo(),
+ ModelType = typeof(TestModel).GetTypeInfo(),
+ Filters =
+ {
+ Mock.Of(),
+ },
+ };
+ var globalFilters = new FilterCollection
+ {
+ Mock.Of(),
+ };
+
+ // Act
+ var compiledPageActionDescriptor = CompiledPageActionDescriptorBuilder.Build(pageApplicationModel, globalFilters);
+
+ // Assert
+ Assert.Collection(
+ compiledPageActionDescriptor.FilterDescriptors,
+ filterDescriptor =>
+ {
+ Assert.Same(globalFilters[0], filterDescriptor.Filter);
+ Assert.Equal(FilterScope.Global, filterDescriptor.Scope);
+ },
+ filterDescriptor =>
+ {
+ Assert.Same(pageApplicationModel.Filters[0], filterDescriptor.Filter);
+ Assert.Equal(FilterScope.Action, filterDescriptor.Scope);
+ });
+ }
+
private class TestPage
{
public TestModel Model { get; } = new TestModel();
diff --git a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageApplicationModelProviderTest.cs b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageApplicationModelProviderTest.cs
index ca4e47583b..fca35d2c75 100644
--- a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageApplicationModelProviderTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageApplicationModelProviderTest.cs
@@ -21,7 +21,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_ThrowsIfPageDoesNotDeriveFromValidBaseType()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(InvalidPageWithWrongBaseClass).GetTypeInfo();
var descriptor = new PageActionDescriptor();
var context = new PageApplicationModelProviderContext(descriptor, typeInfo);
@@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_ThrowsIfModelPropertyDoesNotExistOnPage()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithoutModelProperty).GetTypeInfo();
var descriptor = new PageActionDescriptor();
var context = new PageApplicationModelProviderContext(descriptor, typeInfo);
@@ -85,7 +85,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_ThrowsIfModelPropertyIsNotPublic()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithNonVisibleModel).GetTypeInfo();
var descriptor = new PageActionDescriptor();
var context = new PageApplicationModelProviderContext(descriptor, typeInfo);
@@ -110,7 +110,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_ThrowsIfModelPropertyIsStatic()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithStaticModel).GetTypeInfo();
var descriptor = new PageActionDescriptor();
var context = new PageApplicationModelProviderContext(descriptor, typeInfo);
@@ -135,7 +135,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_DiscoversPropertiesFromPage_IfModelTypeDoesNotHaveAttribute()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithModelWithoutPageModelAttribute).GetTypeInfo();
var descriptor = new PageActionDescriptor();
var context = new PageApplicationModelProviderContext(descriptor, typeInfo);
@@ -189,7 +189,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_DiscoversPropertiesFromPageModel_IfModelHasAttribute()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithModelWithPageModelAttribute).GetTypeInfo();
var modelType = typeof(ModelWithPageModelAttribute);
var descriptor = new PageActionDescriptor();
@@ -233,7 +233,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_DiscoversHandlersFromPage()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithModelWithoutHandlers).GetTypeInfo();
var descriptor = new PageActionDescriptor();
var context = new PageApplicationModelProviderContext(descriptor, typeInfo);
@@ -275,7 +275,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_DiscoversPropertiesFromModel()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithModel).GetTypeInfo();
var modelType = typeof(TestPageModel);
var descriptor = new PageActionDescriptor();
@@ -309,7 +309,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_DiscoversHandlersFromModel()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithModel).GetTypeInfo();
var modelType = typeof(TestPageModel);
var descriptor = new PageActionDescriptor();
@@ -337,7 +337,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_EmptyPage()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(EmptyPage).GetTypeInfo();
var context = new PageApplicationModelProviderContext(new PageActionDescriptor(), typeInfo);
@@ -358,7 +358,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_EmptyPageModel()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(EmptyPageWithPageModel).GetTypeInfo();
var context = new PageApplicationModelProviderContext(new PageActionDescriptor(), typeInfo);
@@ -426,7 +426,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void CreateDescriptor_FindsHandlerMethod_OnModel()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithHandlerThatGetsIgnored).GetTypeInfo();
var modelType = typeof(ModelWithHandler);
var context = new PageApplicationModelProviderContext(new PageActionDescriptor(), typeInfo);
@@ -473,7 +473,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void OnProvidersExecuting_FindsHandlerMethodOnPage_WhenModelIsNotAnnotatedWithPageModelAttribute()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithHandler).GetTypeInfo();
var context = new PageApplicationModelProviderContext(new PageActionDescriptor(), typeInfo);
@@ -524,7 +524,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerMethods_DiscoversHandlersFromBaseType()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(InheritsMethods).GetTypeInfo();
var baseType = typeof(TestSetPageModel);
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -575,7 +575,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerMethods_IgnoresNonPublicMethods()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(ProtectedModel).GetTypeInfo();
var baseType = typeof(TestSetPageModel);
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -603,7 +603,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerMethods_IgnoreGenericTypeParameters()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(GenericClassModel).GetTypeInfo();
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -626,7 +626,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerMethods_IgnoresStaticMethods()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageModelWithStaticHandler).GetTypeInfo();
var expected = typeInfo.GetMethod(nameof(PageModelWithStaticHandler.OnGet), BindingFlags.Public | BindingFlags.Instance);
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -656,7 +656,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerMethods_IgnoresAbstractMethods()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageModelWithAbstractMethod).GetTypeInfo();
var expected = typeInfo.GetMethod(nameof(PageModelWithAbstractMethod.OnGet), BindingFlags.Public | BindingFlags.Instance);
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -684,7 +684,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerMethods_IgnoresMethodWithNonHandlerAttribute()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithNonHandlerMethod).GetTypeInfo();
var expected = typeInfo.GetMethod(nameof(PageWithNonHandlerMethod.OnGet), BindingFlags.Public | BindingFlags.Instance);
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -715,7 +715,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void CreateHandlerModel_ParsesMethod()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageModelWithHandlerNames).GetTypeInfo();
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -749,7 +749,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void CreateHandlerMethods_AddsParameterDescriptors()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(PageWithHandlerParameters).GetTypeInfo();
var expected = typeInfo.GetMethod(nameof(PageWithHandlerParameters.OnPost));
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -793,7 +793,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerProperties_UsesPropertyHelpers_ToFindProperties()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(HidesAProperty).GetTypeInfo();
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -826,7 +826,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
public void PopulateHandlerProperties_SupportsGet_OnProperty()
{
// Arrange
- var provider = new TestPageApplicationModelProvider();
+ var provider = new DefaultPageApplicationModelProvider();
var typeInfo = typeof(ModelSupportsGetOnProperty).GetTypeInfo();
var pageModel = new PageApplicationModel(new PageActionDescriptor(), typeInfo, new object[0]);
@@ -898,14 +898,6 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
Assert.Equal(expectedHandler, handler);
}
- private class TestPageApplicationModelProvider : DefaultPageApplicationModelProvider
- {
- public TestPageApplicationModelProvider(IOptions mvcOptions = null)
- : base(mvcOptions : new TestOptionsManager())
- {
- }
- }
-
private class PageWithModelWithoutHandlers : Page
{
public ModelWithoutHandler Model { get; }
diff --git a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageLoaderTest.cs b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageLoaderTest.cs
index 2530d1e003..d9a2639e6b 100644
--- a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageLoaderTest.cs
+++ b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Internal/DefaultPageLoaderTest.cs
@@ -2,6 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Reflection;
+using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ApplicationModels;
using Microsoft.AspNetCore.Mvc.Razor.Compilation;
using Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure;
@@ -20,7 +21,8 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
var compilerProvider = GetCompilerProvider();
- var options = new TestOptionsManager();
+ var razorPagesOptions = new TestOptionsManager();
+ var mvcOptions = new TestOptionsManager();
var provider1 = new Mock();
var provider2 = new Mock();
@@ -71,7 +73,8 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
var loader = new DefaultPageLoader(
providers,
compilerProvider,
- options);
+ razorPagesOptions,
+ mvcOptions);
// Act
var result = loader.Load(new PageActionDescriptor());
@@ -87,7 +90,8 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
// Arrange
var descriptor = new PageActionDescriptor();
var compilerProvider = GetCompilerProvider();
- var options = new TestOptionsManager();
+ var razorPagesOptions = new TestOptionsManager();
+ var mvcOptions = new TestOptionsManager();
var provider1 = new Mock();
provider1.SetupGet(p => p.Order).Returns(10);
@@ -132,7 +136,8 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
var loader = new DefaultPageLoader(
providers,
compilerProvider,
- options);
+ razorPagesOptions,
+ mvcOptions);
// Act
var result = loader.Load(new PageActionDescriptor());
@@ -159,19 +164,21 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Internal
});
var providers = new[] { provider.Object };
- var options = new TestOptionsManager();
+ var razorPagesOptions = new TestOptionsManager();
+ var mvcOptions = new TestOptionsManager();
var convention = new Mock();
convention.Setup(c => c.Apply(It.IsAny()))
.Callback((PageApplicationModel m) =>
{
Assert.Same(model, m);
});
- options.Value.Conventions.Add(convention.Object);
+ razorPagesOptions.Value.Conventions.Add(convention.Object);
var loader = new DefaultPageLoader(
providers,
compilerProvider,
- options);
+ razorPagesOptions,
+ mvcOptions);
// Act
var result = loader.Load(new PageActionDescriptor());