您的位置:首页 > 编程语言 > ASP

【MVC 过滤器的应用】ASP.NET MVC 如何统计 Action 方法的执行时间

2014-05-28 17:03 776 查看
代码如下:

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MyPractise.Filters
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class ActionSpeedProfilerAttribute : FilterAttribute, IActionFilter
{
private Stopwatch timer;
public void OnActionExecuted(ActionExecutedContext filterContext)
{
timer.Stop();
if (filterContext.Exception == null)
{
string div = string.Format(@"
<div style='position:absolute;
left:0px; top:0px;
width:280px; height:20px;
text-align:center;
background-color:#000000; color:#FFFFFF'>
Action method took: {0} seconds
</div>",
timer.Elapsed.TotalSeconds.ToString("F6"));
filterContext.HttpContext.Response.Write(div);
}
}

public void OnActionExecuting(ActionExecutingContext filterContext)
{
timer = Stopwatch.StartNew();
}
}
}


谢谢浏览!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: