DiagnosticListener.Subscribe Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Diese Methoden ermöglichen das Hinzufügen eines Abonnenten, und einige von Ihnen stellen optionale Ereignisfiltermethoden bereit.
Überlädt
Subscribe(IObserver<KeyValuePair<String,Object>>) |
Fügt einen Abonnenten hinzu. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>) |
Fügt einen Abonnenten hinzu und filtert optional Ereignisse auf der Grundlage ihres Namens und von bis zu zwei Kontextobjekten. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>) |
Fügt einen Abonnenten hinzu und filtert optional Ereignisse auf der Grundlage ihres Namens. |
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>) |
Fügt einen Abonnenten hinzu, filtert optional Ereignisse auf der Grundlage ihres Namens und von bis zu zwei Kontextobjekten, und gibt Methoden an, die aufgerufen werden sollen, wenn Anbieter Aktivitäten von außerhalb des Prozesses importieren oder exportieren. |
Subscribe(IObserver<KeyValuePair<String,Object>>)
- Quelle:
- DiagnosticListener.cs
- Quelle:
- DiagnosticListener.cs
- Quelle:
- DiagnosticListener.cs
Fügt einen Abonnenten hinzu.
public:
virtual IDisposable ^ Subscribe(IObserver<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ observer);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object?>> observer);
public IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object))) As IDisposable
Public Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object))) As IDisposable
Parameter
- observer
- IObserver<KeyValuePair<String,Object>>
Ein Abonnent.
Gibt zurück
Ein Verweis auf eine Schnittstelle, mit der der Listener den Empfang von Benachrichtigungen beenden kann, bevor die DiagnosticSource das Absenden der Benachrichtigungen abgeschlossen hat.
Implementiert
Gilt für:
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>)
- Quelle:
- DiagnosticListener.cs
- Quelle:
- DiagnosticListener.cs
- Quelle:
- DiagnosticListener.cs
Fügt einen Abonnenten hinzu und filtert optional Ereignisse auf der Grundlage ihres Namens und von bis zu zwei Kontextobjekten.
public:
virtual IDisposable ^ Subscribe(IObserver<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ observer, Func<System::String ^, System::Object ^, System::Object ^, bool> ^ isEnabled);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object?>> observer, Func<string,object?,object?,bool>? isEnabled);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Func<string,object,object,bool> isEnabled);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object)), isEnabled As Func(Of String, Object, Object, Boolean)) As IDisposable
Parameter
- observer
- IObserver<KeyValuePair<String,Object>>
Ein Abonnent.
Ein Delegat, der Ereignisse auf der Grundlage ihres Namens und von bis zu zwei Kontextobjekten filtert (die null
sein können), oder null
, wenn ein Ereignisfilter nicht erwünscht ist.
Gibt zurück
Ein Verweis auf eine Schnittstelle, mit der der Listener den Empfang von Benachrichtigungen beenden kann, bevor die DiagnosticSource das Absenden der Benachrichtigungen abgeschlossen hat.
Hinweise
Andernfalls isEnabled
null
weist dies darauf hin, dass einige Ereignisse aus Effizienzgründen übersprungen werden können.
Eine bestimmte Instrumentierungswebsite hat die Möglichkeit, eine oder IsEnabled mehrere Überladungen aufzurufen, in denen sie den Namen des Ereignisses und bis zu zwei weitere (standortspezifische) Objekte als Argumente übergibt. Wenn einer dieser IsEnabled Aufrufe erfolgt, wird dieses isEnabled
Prädikat mit übergebenen Werten aufgerufen (wenn kürzere Überladungen verwendet werden, null
wird für fehlende Kontextobjekte übergeben).
Dies gibt jeder bestimmten Instrumentierungswebsite die Möglichkeit, bis zu zwei Informationen an den Abonnenten zu übergeben, um eine anspruchsvolle, effiziente Filterung durchzuführen. Dies erfordert eine stärkere Kopplung zwischen der Instrumentierungswebsite und dem Abonnentencode.
Es wird erwartet, dass eine bestimmte Instrumentierungswebsite verschiedene Überladungen von IsEnabled
für dasselbe Ereignis aufruft, wobei zuerst aufgerufen IsEnabled(String)wird, wodurch der Filter mit zwei null
Kontextobjekten aufgerufen wird. Wenn isEnabled
zurückgegeben true
wird, wird mit Kontextobjekten erneut aufgerufen. Der isEnabled
Filter sollte in diesem Sinne entworfen werden.
Beachten Sie, dass das isEnabled
Prädikat eine optionale Optimierung ist, damit die Instrumentierungswebsite nicht die Nutzlast einrichten und aufrufen Write(String, Object) kann, wenn sich kein Abonnent darum kümmert. Insbesondere hat die Instrumentierungswebsite die Möglichkeit, das IsEnabled Prädikat zu ignorieren (nicht aufzurufen) und einfach aufzurufen Write(String, Object). Wenn der Abonnent also die Filterung benötigt, muss er dies selbst tun.
Wenn dieser Parameter ist null
, wird keine Filterung durchgeführt (alle Überladungen der IsEnabled Rückgabe true
).
Gilt für:
Subscribe(IObserver<KeyValuePair<String,Object>>, Predicate<String>)
- Quelle:
- DiagnosticListener.cs
- Quelle:
- DiagnosticListener.cs
- Quelle:
- DiagnosticListener.cs
Fügt einen Abonnenten hinzu und filtert optional Ereignisse auf der Grundlage ihres Namens.
public:
virtual IDisposable ^ Subscribe(IObserver<System::Collections::Generic::KeyValuePair<System::String ^, System::Object ^>> ^ observer, Predicate<System::String ^> ^ isEnabled);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object?>> observer, Predicate<string>? isEnabled);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Predicate<string> isEnabled);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Predicate<string> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Predicate<string> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object)), isEnabled As Predicate(Of String)) As IDisposable
Parameter
- observer
- IObserver<KeyValuePair<String,Object>>
Ein Abonnent.
Ein Delegat, der Ereignisse auf der Grundlage ihres Namens filtert (String). Der Delegat sollte true
zurückgeben, wenn das Ereignis aktiviert ist.
Gibt zurück
Ein Verweis auf eine Schnittstelle, mit der der Listener den Empfang von Benachrichtigungen beenden kann, bevor die DiagnosticSource das Absenden der Benachrichtigungen abgeschlossen hat.
Hinweise
Andernfalls isEnabled
null
sind einige Ereignisse uninteressant und können aus Gründen der Effizienz übersprungen werden. Das isEnabled
Prädikat ist eine optionale Optimierung, damit die Instrumentierungswebsite nicht die Nutzlast einrichten und aufrufen Write(String, Object) kann, wenn sich kein Abonnent darum kümmert. Insbesondere die Instrumentierungswebsite hat die Möglichkeit, das IsEnabled() Prädikat zu ignorieren (nicht aufgerufen) und einfach aufzurufen Write(String, Object). Wenn der Abonnent also die Filterung benötigt, muss er dies selbst tun.
Wenn isEnabled
ist null
, wird keine Filterung durchgeführt (alle Überladungen der IsEnabled Rückgabe true
).
Gilt für:
Subscribe(IObserver<KeyValuePair<String,Object>>, Func<String,Object,Object,Boolean>, Action<Activity,Object>, Action<Activity,Object>)
- Quelle:
- DiagnosticSourceActivity.cs
- Quelle:
- DiagnosticSourceActivity.cs
- Quelle:
- DiagnosticSourceActivity.cs
Fügt einen Abonnenten hinzu, filtert optional Ereignisse auf der Grundlage ihres Namens und von bis zu zwei Kontextobjekten, und gibt Methoden an, die aufgerufen werden sollen, wenn Anbieter Aktivitäten von außerhalb des Prozesses importieren oder exportieren.
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object?>> observer, Func<string,object?,object?,bool>? isEnabled, Action<System.Diagnostics.Activity,object?>? onActivityImport = default, Action<System.Diagnostics.Activity,object?>? onActivityExport = default);
public virtual IDisposable Subscribe (IObserver<System.Collections.Generic.KeyValuePair<string,object>> observer, Func<string,object,object,bool> isEnabled, Action<System.Diagnostics.Activity,object> onActivityImport = default, Action<System.Diagnostics.Activity,object> onActivityExport = default);
abstract member Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> * Action<System.Diagnostics.Activity, obj> * Action<System.Diagnostics.Activity, obj> -> IDisposable
override this.Subscribe : IObserver<System.Collections.Generic.KeyValuePair<string, obj>> * Func<string, obj, obj, bool> * Action<System.Diagnostics.Activity, obj> * Action<System.Diagnostics.Activity, obj> -> IDisposable
Public Overridable Function Subscribe (observer As IObserver(Of KeyValuePair(Of String, Object)), isEnabled As Func(Of String, Object, Object, Boolean), Optional onActivityImport As Action(Of Activity, Object) = Nothing, Optional onActivityExport As Action(Of Activity, Object) = Nothing) As IDisposable
Parameter
- observer
- IObserver<KeyValuePair<String,Object>>
Ein Abonnent.
Ein Delegat, der Ereignisse auf der Grundlage ihres Namens und von bis zu zwei Kontextobjekten filtert (die null
sein können), oder null
, wenn ein Ereignisfilter nicht erwünscht ist
Ein Action-Delegat, der die betroffene Aktivität von einem externen Ereignis sowie von einem Objekt, das die eingehende Anforderung darstellt, empfängt.
Ein Action-Delegat, der die betroffene Aktivität von einem externen Ereignis sowie von einem Objekt, das die ausgehende Anforderung darstellt, empfängt.
Gibt zurück
Ein Verweis auf eine Schnittstelle, mit der der Listener den Empfang von Benachrichtigungen beenden kann, bevor die DiagnosticSource das Absenden der Benachrichtigungen abgeschlossen hat.
Hinweise
Wenn isEnabled
nicht NULL ist, können einige Ereignisse uninteressant sind, aus Gründen der Effizienz übersprungen werden.
Sie können auch methoden "onActivityImport" und "onActivityExport" bereitstellen, die aufgerufen werden, wenn Anbieter Aktivitäten von außerhalb des Prozesses importieren oder exportieren (z. B. von HTTP-Anforderungen). Diese Methoden werden nach dem Importieren oder Exportieren der Aktivität aufgerufen und können verwendet werden, um die Aktivität oder die ausgehende Anforderung zum Hinzufügen einer Richtlinie zu ändern.