c# – 测量ASP.NET MVC的性能3

前端之家收集整理的这篇文章主要介绍了c# – 测量ASP.NET MVC的性能3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在ASP.NET MVC 3中构建了一个 JSON服务,我希望能够测量应用程序中的动作执行时间(我想要自动记录慢动作).

这样看起来很棒http://coderjournal.com/2010/10/timing-the-execution-time-of-your-mvc-actions/(这里也提到了堆栈溢出的地方)

问题是我从这种方法中得到的测量必须是错误的;
添加了另一个秒表,启动了动作中的第一件事情,并在返回之前停止.

例:

>秒表里面的方法=> 10ms(序列化到json在这里省略,所以我可以明白,它比现实更短)
>秒表属性(上面的代码)=> 676ms
> Firefox表示请求=> 70ms

我相信firefox在这里有正确的时间(但它包括下载,所以它有点大),但我想了解为什么属性代码不起作用,任何想法?

解决方法

这可能不是为什么它显示长执行时间的原因,但是当您一次有多个请求时,该属性将无法正常使用mvc 3.

In prevIoUs versions of ASP.NET MVC,
action filters are create per request
except in a few cases. This behavior
was never a guaranteed behavior but
merely an implementation detail and
the contract for filters was to
consider them stateless. In ASP.NET
MVC 3,filters are cached more
aggressively. Therefore,any custom
action filters which improperly store
instance state might be broken.

我建议在OnActionExecuting和save it to HttpContext.Current.Items中实例化新的秒表 – 然后您可以在OnActionExecuted中检索它并打印出结果.

原文链接:https://www.f2er.com/csharp/94889.html

猜你在找的C#相关文章