32 lines
851 B
C#
32 lines
851 B
C#
using System.IO;
|
|
using System.Web.Mvc;
|
|
using Umbraco.Core.Logging;
|
|
using Umbraco.Web;
|
|
using Umbraco.Web.Composing;
|
|
|
|
namespace Umbraco.Core.Profiling
|
|
{
|
|
public class ProfilingView : IView
|
|
{
|
|
private readonly IView _inner;
|
|
private readonly string _name;
|
|
private readonly string _viewPath;
|
|
|
|
public ProfilingView(IView inner)
|
|
{
|
|
_inner = inner;
|
|
_name = inner.GetType().Name;
|
|
var razorView = inner as RazorView;
|
|
_viewPath = razorView != null ? razorView.ViewPath : "Unknown";
|
|
}
|
|
|
|
public void Render(ViewContext viewContext, TextWriter writer)
|
|
{
|
|
using (Current.Profiler.Step(string.Format("{0}.Render: {1}", _name, _viewPath)))
|
|
{
|
|
_inner.Render(viewContext, writer);
|
|
}
|
|
}
|
|
}
|
|
}
|