From 077b1d87a9862b6821a518b4ecb50ced480576a3 Mon Sep 17 00:00:00 2001 From: Nisha Kaushik Date: Tue, 22 May 2018 10:19:21 +0530 Subject: [PATCH] #7024 Request: ServiceBasedPageModelActivatorProvider [Review Changes] --- .../MvcRazorPagesMvcCoreBuilderExtensions.cs | 4 +--- .../ServiceBasedPageModelActivatorProvider.cs | 6 +++--- ...ServiceBasedPageModelActivatorProviderTest.cs | 16 ++++++++-------- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/Microsoft.AspNetCore.Mvc.RazorPages/DependencyInjection/MvcRazorPagesMvcCoreBuilderExtensions.cs b/src/Microsoft.AspNetCore.Mvc.RazorPages/DependencyInjection/MvcRazorPagesMvcCoreBuilderExtensions.cs index fd8e5b055c..35a6e75a45 100644 --- a/src/Microsoft.AspNetCore.Mvc.RazorPages/DependencyInjection/MvcRazorPagesMvcCoreBuilderExtensions.cs +++ b/src/Microsoft.AspNetCore.Mvc.RazorPages/DependencyInjection/MvcRazorPagesMvcCoreBuilderExtensions.cs @@ -110,11 +110,9 @@ namespace Microsoft.Extensions.DependencyInjection ServiceDescriptor.Singleton()); // Page and Page model creation and activation - services.TryAddSingleton(); + services.TryAddSingleton(); services.TryAddSingleton(); - services.TryAddSingleton(); - services.TryAddSingleton(); services.TryAddSingleton(); diff --git a/src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/ServiceBasedPageModelActivatorProvider.cs b/src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/ServiceBasedPageModelActivatorProvider.cs index 9ea5c53790..262d0cab21 100644 --- a/src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/ServiceBasedPageModelActivatorProvider.cs +++ b/src/Microsoft.AspNetCore.Mvc.RazorPages/Infrastructure/ServiceBasedPageModelActivatorProvider.cs @@ -19,8 +19,8 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure throw new ArgumentNullException(nameof(descriptor)); } - var modelTypeInfo = descriptor.ModelTypeInfo?.AsType(); - if (modelTypeInfo == null) + var modelType = descriptor.ModelTypeInfo?.AsType(); + if (modelType == null) { throw new ArgumentException(Resources.FormatPropertyOfTypeCannotBeNull( nameof(descriptor.ModelTypeInfo), @@ -30,7 +30,7 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure return context => { - return context.HttpContext.RequestServices.GetRequiredService(modelTypeInfo); + return context.HttpContext.RequestServices.GetRequiredService(modelType); }; } diff --git a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Infrastructure/ServiceBasedPageModelActivatorProviderTest.cs b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Infrastructure/ServiceBasedPageModelActivatorProviderTest.cs index 73c51ee42f..1d045c8571 100644 --- a/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Infrastructure/ServiceBasedPageModelActivatorProviderTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.RazorPages.Test/Infrastructure/ServiceBasedPageModelActivatorProviderTest.cs @@ -31,10 +31,10 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure { // Arrange var simpleModel = new DISimpleModel(); - var serviceProvider = new Mock(MockBehavior.Strict); + var serviceProvider = new Mock(MockBehavior.Strict); serviceProvider.Setup(s => s.GetService(typeof(DISimpleModel))) - .Returns(simpleModel) - .Verifiable(); + .Returns(simpleModel) + .Verifiable(); var activatorProvider = new ServiceBasedPageModelActivatorProvider(); var pageContext = new PageContext @@ -62,11 +62,11 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure public void CreateActivator_CreatesModelInstance() { // Arrange - var controller = new DISimpleModel(); + var simpleModel = new DISimpleModel(); var serviceProvider = new Mock(MockBehavior.Strict); serviceProvider.Setup(s => s.GetService(typeof(DISimpleModel))) - .Returns(controller) - .Verifiable(); + .Returns(simpleModel) + .Verifiable(); var activatorProvider = new ServiceBasedPageModelActivatorProvider(); var pageContext = new PageContext @@ -86,8 +86,8 @@ namespace Microsoft.AspNetCore.Mvc.RazorPages.Infrastructure var model = activator(pageContext); // Assert - var simpleModel = Assert.IsType(model); - Assert.NotNull(simpleModel); + var simpleModel2 = Assert.IsType(model); + Assert.NotNull(simpleModel2); } [Fact]