19 Stimmen

Elmah.MVC vs. Elmah.contrib.Mvc

Ich bin neu in ASP.NET MVC und suche nach dem wenig schmerzhaften Weg, um globales Fehlerhandling, Logging und Berichterstattung (per E-Mail) einzurichten. Übrigens wird meine ASP.NET MVC-App als Webrolle in Azure gehostet, aber ich versuche, keine Azure-spezifischen Hooks zu verwenden.

Es scheint, dass die Installation und Konfiguration von ELMAH ein guter erster Schritt ist.

Wenn ich in NuGet schaue, sehe ich:

  • ELMAH ("ELMAH mit anfänglicher Konfiguration für einen schnellen Einstieg...")
  • Elmah.Contrib.Mvc ("...entwickelt, um die Benutzerfreundlichkeit in MVC-Projekten zu verbessern...")
  • Elmah.MVC ("...schmerzlose Integration in MVC...")

Welches dieser Pakete soll ich installieren?

EDIT: Nach etwas Experimentieren bin ich eher verwirrt. Ich habe die Projektdateien verglichen, nachdem ich jede der drei Optionen über einer Standard-MVC 4-App installiert habe. Es scheint, dass weder Elmah.Contrib.Mvc noch Elmah.MVC das elmah.1.2.2-Paket hinzufügen (das ich erhalte, wenn ich das grundlegende ELMAH installiere). Außerdem fügt kein Paket den -Abschnitt zur Web.config hinzu.

Also... muss ich zuerst ELMAH installieren und dann eines der "...MVC"-Pakete installieren, um all die tollen Verbesserungen zu erhalten, die sie mir vermutlich bieten?

24voto

Daniel Powell Punkte 7972

ELMAH - Dies ist das Standard-ELMAH-Paket ohne MVC-spezifischen Code darin. Wenn Sie nicht das tun, was hier beschrieben ist, glaube ich nicht, dass ELMAH Fehler protokollieren wird, die in Ihren Controllern auftreten, und Sie können möglicherweise nicht auf die ELMAH-Protokollseite zugreifen.

Elmah.Contrib.Mvc - Dies ist eine Verbesserung von ELMAH, speziell für MVC basierend auf einer Antwort eines der Schöpfer von ELMAH auf eine Stack Overflow-Frage.

Elmah.MVC - Dies ist ähnlich wie das obige Paket, aber ich glaube, es bietet eine viel bessere Unterstützung für MVC-Funktionen wie Routen usw. Es ist auch sehr einfach zu installieren und zu konfigurieren, es entfernt viel von dem Herumspielen, das Sie mit ELMAH machen müssten, um verschiedene Teile zu entfernen, die nicht erforderlich sind, wenn Sie in einem MVC-Projekt arbeiten.

Sie können die Beiträge der Autoren lesen, um eine bessere Vorstellung davon zu bekommen, wie es funktioniert:

Persönlich glaube ich, dass das letzte Paket das beste wäre, um es zu verwenden. Es scheint das aktuellere und am besten gewartete der beiden MVC-Pakete zu sein.

2voto

Erik Funkenbusch Punkte 91649

Sie sollten vielleicht Elfar anstelle von Elmah verwenden. Elfar ist von Elmah "inspiriert", wurde jedoch speziell für MVC entwickelt und ist sehr einfach zu konfigurieren.

Öffnen Sie einfach NuGet und suchen Sie nach Elfar. Sie werden eine Reihe verschiedener Pakete finden, aber im Allgemeinen möchten Sie dasjenige, das zu der Technologie passt, die Sie verwenden möchten. Ich kenne mich nicht mit Azure-Webrollen aus, aber wenn Sie Zugriff auf einen standardmäßigen SQL-Server haben, können Sie einfach Elfar.SqlClient verwenden.

Weitere Informationen hier:

https://github.com/stevenbey/elfar/wiki

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X