Ich bin auf der Suche nach einer exemplarischen Vorgehensweise zum Erstellen und Verwenden eines benutzerdefinierten Providers für ASP.Net Healthmonitoring.Wie schreibe und konfiguriere ich einen benutzerdefinierten Provider für ASP.Net Healthmonitoring?
Bisher habe ich nur mit dem E-Mail-Provider gearbeitet, der E-Mails bei Fehlern erzeugt. Grundsätzlich möchte ich das gleiche tun, aber mit mehr Flexibilität:
Ich möchte die HealthMonitoring-Funktionen (ich möchte nicht das Application_OnError-Ereignis in der global.asax verwenden) in einer Weise, die mir Zugriff auf ein Ereignis haben , die wie "OnNewHealthMonitoringEntry" mit allen in der E-Mail bereitgestellten Informationen ausgelöst wird, um benutzerdefinierten Code auszuführen.
Edit:
Basierend auf den Quellcode hier zur Verfügung gestellten http://www.asp.net/general/videos/how-do-i-create-a-custom-provider-for-logging-health-monitoring-events konnte ich meine eigenen benutzerdefinierten Anbieter bauen und implementieren. Jetzt möchte ich einige neue Attribute hinzufügen, um meinen benutzerdefinierten Provider zu konfigurieren. Hier ist, was die web.config wie folgt aussieht:
<healthMonitoring>
<bufferModes>
<add name="Log Notification" maxBufferSize="1" maxFlushSize="1" urgentFlushThreshold="1" regularFlushInterval="Infinite" urgentFlushInterval="00:00:10"/>
</bufferModes>
<providers>
<add name="FileEventProvider" buffer="true" bufferMode="Log Notification" type="healthmonitoringtest.FileHealthMonitorEventProvider"/>
</providers>
<profiles>
<add name="Custom" minInstances="1" maxLimit="Infinite" minInterval="00:00:00"/>
</profiles>
<rules>
<add name="File Event Provider" eventName="All Errors" provider="FileEventProvider" profile="Custom"/>
</rules>
</healthMonitoring>
Wenn ich ein Attribut zum Provider hinzuzufügen versuchen, wie diese
<providers>
<add name="FileEventProvider" buffer="true" bufferMode="Log Notification" foo="bar" type="healthmonitoringtest.FileHealthMonitorEventProvider"/>
</providers>
Ich werde einen Fehler zu sagen:
Eine Ausnahme vom Typ 'System.Configuration.ConfigurationErrorsException' in System.Web.dll aufgetreten ist, aber nicht in Benutzercode Additiona behandelt wurde l Information: Unerwartetes Attribut foo in der Konfiguration des FileEventProvider.
Ist es möglich, die Konfiguration für benutzerdefinierte Anbieter in der Nähe des Abschnitts healthMonitoring zu speichern? Ich denke, ich könnte die Einstellungen in den appSettings-Knoten aufnehmen, aber ich möchte es irgendwie mit Attributen konfigurieren (innerhalb des HealthMonitoring-Knotens). Ist das möglich?
EDIT2: Sie können einen Blick auf diesen Artikel nehmen: http://www.tomot.de/en-us/article/6/asp.net/how-to-create-a-custom-healthmonitoring-provider-that-sends-e-mails
Welcher Teil des Links, den Sie gefunden haben, war unklar? Vielleicht können wir Ihnen eine gute Antwort geben, wenn wir dort anfangen. – NotMe
Mit 'unklar' meinte ich, wenn mein Ansatz mit diesem Codebeispiel der richtige Weg ist, einen benutzerdefinierten Anbieter zu verwenden, oder wenn es sich um einen alten veralteten Code handelt – citronas
Ich bearbeitete meine Frage und fügte einen Fehler hinzu, der versuchte, willkürliche Attribute für den Anbieter zu verwenden . Meine Google-Suche ergab keine für meine Situation relevanten Antworten. (Es fühlte sich auch nicht richtig an, eine neue Frage dafür zu öffnen) – citronas