Removes the abstraction on the profiler, no need for a resolver, it will work in unit tests and we can override the provider if needed.

Added better support for MVC profiling by using the built in ProfilingViewEngine and ProfilingActionFilter.
This commit is contained in:
Shannon Deminick
2013-05-12 19:05:49 -10:00
parent 3fd3bf0fda
commit cb8d080f1d
22 changed files with 362 additions and 302 deletions

View File

@@ -5,6 +5,7 @@ using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;
using StackExchange.Profiling.MVCHelpers;
using Umbraco.Core;
using Umbraco.Core.Configuration;
using Umbraco.Core.Dictionary;
@@ -72,13 +73,16 @@ namespace Umbraco.Web
new MasterControllerFactory(FilteredControllerFactoriesResolver.Current));
//set the render view engine
ViewEngines.Engines.Add(new RenderViewEngine());
ViewEngines.Engines.Add(new ProfilingViewEngine(new RenderViewEngine()));
//set the plugin view engine
ViewEngines.Engines.Add(new PluginViewEngine());
ViewEngines.Engines.Add(new ProfilingViewEngine(new PluginViewEngine()));
//set model binder
ModelBinders.Binders.Add(new KeyValuePair<Type, IModelBinder>(typeof(RenderModel), new RenderModelBinder()));
//add the profiling action filter
GlobalFilters.Filters.Add(new ProfilingActionFilter());
return this;
}
@@ -236,9 +240,6 @@ namespace Umbraco.Web
{
base.InitializeResolvers();
//Set the profiler to be the web profiler
ProfilerResolver.Current.SetProfiler(new WebProfiler());
//set the default RenderMvcController
DefaultRenderMvcControllerResolver.Current = new DefaultRenderMvcControllerResolver(typeof(RenderMvcController));