Teilen über


Erstellen von Fehlerberichten von Pipelinekomponenten

Pipelinekomponenten erstellen auf zwei Arten Fehlerberichte:

  • Für .NET-basierte Komponenten durch Auslösen einer Ausnahme.

  • Für COM-basierte Komponenten, indem Sie das ErrorInfo-Objekt festlegen und ein Fehler-HRESULT zurückgeben.

Erstellen von Fehlerberichten von .NET-Pipelinekomponenten

Um einen Fehlerbericht zu erstellen, muss eine .NET-basierte Pipelinekomponente eine Ausnahme auslösen, in der sie die Fehlerbeschreibung meldet. Um den Namen der Komponente zu melden, die einen Fehler auslöst, legen Sie die Source-Eigenschaft des Exception-Objekts fest.

Die Messaging-Engine verwendet die Eigenschaften Message und Source des Exception-Objekts , um einen Fehler zu melden. Die folgende Nachricht wird in das Ereignisprotokoll geschrieben:

"Bei der Ausführung der [receive|send]-Pipeline ist ein Fehler aufgetreten: <Pipelinename> Quelle: <Quelle> [Empfangsspeicherort|Send Port:] <location|port name> Reason: <Message>."

Erstellen von Fehlerberichten von COM-Pipelinekomponenten

Zum Erstellen eines Fehlerberichts führen COM-basierte Pipelinekomponenten folgende Aktionen aus:

  1. Die Pipelinekomponente legt das IErrorInfo-Objekt durch Aufrufen der SetErrorInfo-Methode fest.

  2. Die Pipelinekomponente gibt einen HRESULT-Fehler an die Messaging-Engine zurück.

    Die Messaging-Engine verwendet die Eigenschaften GetSource und GetDescription des IErrorInfo-Objekts , um einen Fehler zu melden. Wenn die Quelle nicht festgelegt ist, wird der Name der Komponente verwendet. Wenn die Beschreibung nicht festgelegt oder das gesamte ErrorInfo-Objekt nicht festgelegt ist, wird anstelle der Beschreibung das zurückgegebene HRESULT gemeldet. Die folgende Nachricht wird in das Ereignisprotokoll geschrieben:

    "Bei der Ausführung der [receive|send]-Pipeline ist ein Fehler aufgetreten: <Pipelinename> Quelle: <GetSource> [Empfangsspeicherort|Sendeport:] <location|port name> Grund: <GetDescription oder HRESULT>."

Weitere Informationen

Entwickeln von benutzerdefinierten Pipelinekomponenten