私は、ASP.NET Web APIプロジェクトのすべてのアクション呼び出しを記録するためにActionFilterを使用しています。 OnActionExecutedメソッドは、何が起きているかをたくさん伝えます。ASP Web APIアクションのログ持続時間
私は実行時間を計測するための効率的な方法を見つける方法を見つけ出すことはできません...任意の助け
ありがとう!トリックを行う必要があり、このような
私は、ASP.NET Web APIプロジェクトのすべてのアクション呼び出しを記録するためにActionFilterを使用しています。 OnActionExecutedメソッドは、何が起きているかをたくさん伝えます。ASP Web APIアクションのログ持続時間
私は実行時間を計測するための効率的な方法を見つける方法を見つけ出すことはできません...任意の助け
ありがとう!トリックを行う必要があり、このような
何か...
public class StopwatchAttribute : ActionFilterAttribute
{
private const string StopwatchKey = "StopwatchFilter.Value";
public override void OnActionExecuting(HttpActionContext actionContext)
{
base.OnActionExecuting(actionContext);
actionContext.Request.Properties[StopwatchKey] = Stopwatch.StartNew();
}
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
base.OnActionExecuted(actionExecutedContext);
Stopwatch stopwatch = (Stopwatch)actionExecutedContext.Request.Properties[StopwatchKey];
// TODO something useful with stopwatch.Elapsed
Trace.WriteLine("Elapsed = " + stopwatch.Elapsed);
}
}
は、ここでは、要求のプロパティで新しい
Stopwatch
を保存し、要求が完了したときにそれを停止します。
System.Diagnostics.Stopwatch? – Joe
MVC APIとWeb APIの両方について[この記事](https://www.simple-talk.com/dotnet/performance/building-performance-metrics-into-asp.net-mvc-applications/)もチェックしてください。 –