Die Web API Controller-Methode wird bis zum Ende ausgeführt. Keine HTTP-Antwort. Hängt

Tom

Ich suche nach einem Ansatz zum Debuggen dieses Szenarios. Ich habe in Fiddler überprüft, dass es überhaupt keine HTTP-Antwort gibt. Um klar zu sein, wie ich es verstehe, sollte eine Controller-Methode nicht einfach hängen bleiben, es gibt keine Ausnahme. Ich habe die mangelnde Reaktion bei Fiddler überprüft. Die Methode gibt ein gültiges Objekt zurück, das überprüft wird, indem der Code bis zur endgültigen return-Anweisung durchlaufen wird.

Dies unterscheidet sich von der ursprünglichen Frage darin, dass die Controller-Methode getroffen wurde und nicht vorher war. Der Grund hierfür wird in der ursprünglichen Frage erläutert. ASP.NET Web Api. Controller nicht getroffen. Überhaupt keine Antwort. Ansätze zur Diagnose?

AKTUALISIEREN

Ich sehe jetzt dieses Verhalten, obwohl die Anforderung den Handler vervollständigt und 200 zurückgibt

ExtensionlessUrlHandler und "Rekursion zu tief; der Stapel ist übergelaufen"

1506.  -GENERAL_REQUEST_END 


BytesSent
6069 

BytesReceived
436 

HttpStatus
200 

HttpSubStatus
0 

Gegen Ende

ErrorDescription
Internal Server Error 


0 ms

Warning
1170.  -MODULE_SET_RESPONSE_ERROR_STATUS 


ModuleName
ManagedPipelineHandler 

Notification
EXECUTE_REQUEST_HANDLER 

HttpStatus
500 

HttpReason
Internal Server Error 

HttpSubStatus
0 

ErrorCode
Recursion too deep; the stack overflowed.
 (0x800703e9) 
Tom

Es stellte sich heraus, dass es sich um eine abgestürzte Instanz von RabbitMQ in Kombination mit der OWin-Middleware handelte, die versuchte, diese Instanz zu verwenden (um Ausnahmen zu protokollieren, z MQ-Instanz) und verschluckte daher Ausnahmen rekursiv. Der Stapelüberlauf wurde durch endloses erneutes Eingeben dieser Middleware-Instanzen verursacht. Die Protokollierungs-Middleware hat Ausnahmen ausgelöst, da sie nicht protokolliert werden konnte, und die Ausnahmebehandlungs-Middleware hat diese Ausnahmen behandelt, indem sie an die Protokollierungs-Middleware gesendet wurde. Interessantes Zeug.

Zusätzlich zum Neustart, um das abgestürzte und unzugängliche RabbitMQ zu beheben (ein Neustart des Dienstes war nicht ausreichend), wurde das Problem immer noch nicht behoben (andere Symptome wie oben beschrieben), es sei denn, das Nuget-Paket MassTransit.RabbitMQ 3.3.2 (alte Version) und das Abhängigkeiten (einschließlich RabbitMQ.Client), die diese genaue Version mit sich bringt, wurden anstelle der neuesten Versionen installiert.

Ich hoffe das wird jemandem helfen.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Lambda-Funktion wird nicht bis zum Ende ausgeführt

Warten Sie, bis die Methode in backgroundworker c # ausgeführt wird

Warten Sie, bis die erste Methode in allen Threads ausgeführt wird, bis die zweite ausgeführt wird

Warum wird Code immer noch bis zum Ende der rekursiven Funktion ausgeführt?

Erzwingen, dass die HTTP-Get-Anfrage bis zum Ende in Angular gewartet wird

Richtige Methode, um das Objekt zum Leben zu zwingen, bis der Block ausgeführt wird

Die Django-REST-API hängt, wenn sie als Docker-Image ausgeführt wird

Mein Skript kann nicht bis zum Ende ausgeführt werden

Nodejs - Await wartet nicht, bis die Methode zuerst ausgeführt wird

Angular Observable Warten Sie, bis die Methode ausgeführt wird, bevor Sie zurückkehren

Verhindern, dass die JavaScript-Methode zweimal ausgeführt wird, bis ihre Ausführung beendet ist

Wie kann ich eine Methode ausführen, wenn der Controller zum ersten Mal ausgeführt wird?

Die @ControllerAdvice-Methode wird nicht ausgeführt und führt die Controller-Methode aus. catch Exception

Die angegebene Methode wird ausgeführt, bevor die Methode zweimal ausgeführt wird. Capture Null für das erste und String-Argument zum zweiten Mal

Methode vorbereiten, die mehrmals ausgeführt wird

Die asynchrone Methode zum Aktualisieren der Benutzeroberfläche wird teilweise ausgeführt

Methode wartet nicht bis sie wieder ausgeführt wird

Wie kann ich warten, bis die Coroutinen innerhalb der Methode synchron abgeschlossen sind, wenn die Ereignisschleife bereits ausgeführt wird?

Eine Anwendung, die im Docker ausgeführt wird, kann keine Verbindung zum Docker von elasticsearch herstellen

Die Spring Boot @ Async-Methode im Controller wird synchron ausgeführt

PDO sqlsrv führt keine Ausführungsabfrage bis zum Ende aus

Manifest-deklarierter BroadcastReceiver empfängt keine explizite Übertragung, wenn die App nicht ausgeführt wird

Warum muss ich warten, bis eine Methode asynchron ausgeführt wird? Was ist, wenn ich nicht warten möchte, bis die Methode abgeschlossen ist, bevor ich fortfahre?

Vorgehensweise: Es werden fünf API-Anforderungen parallel ausgeführt, und die zweite Anforderung hängt von der Antwort der vierten Anforderung ab

fgets stoppt, bevor die CSV-Datei bis zum Ende gelesen wird, und falsche Ausgabe

Recyclerview scrollt nicht bis zum Ende, wenn die Tastatur geöffnet wird

Wenn Sie die Methode "on" zum Senden des Formulars mit dem Klassennamen verwenden, wird die Funktion mehrmals ausgeführt

Async-Methode, die mit Async an die Web-API aufgerufen wird, bleibt hängen und kehrt nicht zum Aufrufer zurück

Verhindern, dass Segue ausgeführt wird, bis die Funktion ausgeführt wird

TOP Liste

  1. 1

    Modbus Python Schneider PM5300

  2. 2

    Glassfish v3.0.1 im Vergleich zu Oracle GlassFish Server 3.0.1 - Gibt es einen technischen Grund, die kommerzielle Version zu verwenden?

  3. 3

    Wie schließe ich mehrere Ordner mit der Variablen EXTRA_ARGS aus?

  4. 4

    Wie kann eine gleichmäßige Lastverteilung in ElasticSearch mit Indizes mit unterschiedlicher Anzahl von Shards erreicht werden?

  5. 5

    Wie kann man eine Multi-Container-Anwendung in Steuerkarten erstellen?

  6. 6

    ElasticSearch - Knotensperren konnten nicht abgerufen werden

  7. 7

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  8. 8

    Elasticsearch startet nicht nach dem Laden in viele Daten

  9. 9

    Ärgerliches Problem mit yaml, das ich nicht lösen kann

  10. 10

    Wie Verwenden von Httpclient mit jedem SSL-Zertifikat, egal wie „schlecht“ es ist

  11. 11

    Wie vergleicht man scala.xml-Knoten richtig?

  12. 12

    ElasticSeach Auto Complete mit dem Vervollständigungsvorschlag, um das vollständige Dokument zurückzugeben

  13. 13

    Wie füge ich eine Spalte in einer Zeile in der Ansible Jinja2-Vorlage mit der for-Schleife hinzu?

  14. 14

    HTTPS-Verbindung mit Moneris-Servern in Curl

  15. 15

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  16. 16

    Bester Crawler, um festzustellen, ob er mit Technologien gebaut wurde?

  17. 17

    So erhalten Sie eine gleichmäßige Höhe für alle Eingabefelder

  18. 18

    Wie kann ich den Kaskadenmodus global einstellen?

  19. 19

    Eclipse Oxygen - Projekte verschwinden

  20. 20

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

  21. 21

    ElasticSearch BulkShardRequest ist aufgrund von org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor fehlgeschlagen

heißlabel

Archiv