Sto scrivendo una classe di utilità molto semplice con lo scopo di misurare il tempo eseguito per qualsiasi metodo passato (di qualsiasi tipo).Come contare il tempo trascorso per un metodo con una classe di utilità
Nel mio caso Membership.ValidateUser(model.UserName, model.Password)
return bool quindi ottengo un'eccezione.
Vorrei se fosse possibile scrivere una classe di utilità di questo tipo e un esempio di codice su come risolverlo. Ha senso utilizzare dinamicamente al posto dell'azione?
Tracing.Log(Membership.ValidateUser(model.UserName, model.Password), "Membership.ValidateUser");
public static class Tracing
{
public static void Log(Action action, string message)
{
// Default details for the Log
string sSource = "TRACE";
string sLog = "Application";
// Create the Log
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
// Measure time Elapsed for an Action
Stopwatch stopwatch = Stopwatch.StartNew();
action();
stopwatch.Stop();
TimeSpan timeElapsed = stopwatch.Elapsed;
// Write the Log
EventLog.WriteEntry(sSource, "TIME-ELAPSED: " + timeElapsed .ToString() + message, EventLogEntryType.Warning, 234);
}
}
Desidero ringraziare il vostro per la vostra spiegazione. Come potrebbe riscrivere la mia classe e far entrare l'uso di labda? grazie per il tuo tempo – GibboK
@GibboK: non so cosa intendi. Ti ho mostrato come puoi chiamare il metodo. –
Grazie Jon, non ero a conoscenza di MVC-Profiler. – GibboK