Ich habe gerade von einem sehr schlechten Web-API-Code in C# vererbt. Ich muss es verbessern, aber ich weiß nicht, wo ich anfangen soll. Es gibt viele Klassen und der Code ist ein Albtraum. Ich denke auch, dass ein Teil des Codes niemals benutzt wird.Wie kann ich die Leistung verfolgen und protokollieren und meine Web-API-Anfragen abrufen?
Ich möchte die Anzahl der Zeit zählen, die jede Anfrage aufgerufen wird und zu welcher Zeit jede Anfrage dauern. Ich möchte alle meine Ergebnisse in einer Tabelle protokollieren. In ein oder zwei Tagen konnte ich eine klare Vorstellung davon haben, was ich am meisten gebraucht habe und was Zeit braucht. Kunde beschweren sich darüber.
Ich benutze Log für Log und eine einfache Stoppuhr zur Berechnung der Leistung. Was schlagen Sie vor? Ich weiß, dass es besser ist, Filter und Attribute für Traces zu verwenden, aber wie kann ich diese Leistung protokollieren und verfolgen?
// GET api/Item/5
public Item GetItem(string id)
{
// I don't use string.Format in my real code. This is just for this example.
logger.Trace(string.Format("Request: GET api/Item/{0}", id));
Stopwatch sw = new Stopwatch();
sw.Start();
Item item = context.Items.Single(i => i.Code == id);
sw.Stop();
logger.Trace(string.Format("Response: GET api/values/{0}\r\nElpased={1}\r\rn{2}", id, sw.Elapsed, response));
Ich fand Vorinformationen hier
Dank
http://weblogs.asp.net/fredriknormen/log-message-request-and-response-in-asp-net-webapi
Exact time measurement for performance testing
Natürlich sind alle diese Trace und Performance-Jobs werden von meiner Konfigurationsdatei aktiviert oder deaktiviert werden . Für NLog ist es eingebaut. Für die Stoppuhr plane ich etwas zu bauen. Ich habe nicht vor, dies ständig auf Produktion zu halten
Resharper wird hier nicht helfen. Resharper kann eine nicht verwendete Anforderung zur Laufzeit nicht erkennen. –
Attributbasisprotokollierung Überprüfen Sie dieses http://stackoverflow.com/questions/13655541/wcf-service-attribute-to-log-method-calls-and-exceptions – Prathyush
Ok, Lesen Sie meine Frage Offir Pe'er. Es geht darum, Code zu schreiben, ohne ein Werkzeug zu verwenden. –