Malheureusement, le Trace
class ne peut pas activer ou désactiver le suivi en fonction des conditions que vous souhaitez résoudre à la demande. C'est une approche tout ou rien.
Cela dit, je très recommandons MVC MiniProfiler (utilisé ici sur les sites Exchange Stack, notamment au public sur le Stack Exchange Data Explorer).
Vous essentiellement obtenir un rendu sur votre page comme ceci:
Et vous pouvez définir le profilage sur une base par demande:
using StackExchange.Profiling;
...
protected void Application_BeginRequest()
{
if (Request.IsLocal)
{
MiniProfiler.Start();
}
}
La syntaxe est légèrement différente de celle en utilisant la classe Trace
, en ce que vous devez utiliser using
instructions, comme ceci:
using (profiler.Step("Set page title"))
{
ViewBag.Title = "Home Page";
}
La raison en est que c'est une opération fondamentalement différente; Lorsque vous tracez, vous écrivez une information à un moment donné. Lors du profilage, vous examinez des segments de temps, et l'instruction using
permet de définir ces segments.
Il est peut-être un peu exagéré, mais je préfère utiliser volontiers cette plus Trace
à cause de l'aspect de profilage, ainsi que la nature non-intrusive des informations affichées (Trace
a une mauvaise habitude de faire la page regarder très étrange).