From 8e90024231537bf36e7ec9f27de3f35cb3373fac Mon Sep 17 00:00:00 2001 From: kamiff Date: Tue, 27 Jan 2015 11:46:04 +0800 Subject: [PATCH] Improve MVC 3, 4 application View DI performance Ignore MVC view service injection check to improve MVC 3, 4 view object creation performance. --- src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs | 5 +++++ src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs b/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs index b78b933e..8a87da3d 100644 --- a/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs +++ b/src/Spring/Spring.Web.Mvc3/SpringMvcDependencyResolver.cs @@ -12,6 +12,7 @@ namespace Spring.Web.Mvc /// public class SpringMvcDependencyResolver : IDependencyResolver { + private static readonly string IgnoreViewNamespace = "ASP."; private IApplicationContext _context; @@ -66,6 +67,10 @@ namespace Spring.Web.Mvc /// The requested service or object. public object GetService(Type serviceType) { + if (serviceType.FullName.StartsWith(IgnoreViewNamespace)) + { + return null; + } object service = null; if (serviceType != null) diff --git a/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs b/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs index b425c1c6..39d74e16 100644 --- a/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs +++ b/src/Spring/Spring.Web.Mvc4/SpringMvcDependencyResolver.cs @@ -12,7 +12,7 @@ namespace Spring.Web.Mvc /// public class SpringMvcDependencyResolver : IDependencyResolver { - + private static readonly string IgnoreViewNamespace = "ASP."; /// /// The to be used by the resolver /// @@ -70,6 +70,10 @@ namespace Spring.Web.Mvc /// The requested service or object. public object GetService(Type serviceType) { + if (serviceType.FullName.StartsWith(IgnoreViewNamespace)) + { + return null; + } object service = null; if (serviceType != null)