Wie ermittle ich während der Ausführung die Anzahl gleichzeitiger Anfragen von einem asynchronen httpclient?

8

Ich habe eine einfache Konsolenanwendung, die so aussieht:

%Vor%

Hier initiiere ich 10 asynchrone Webanfragen und sammle die Antwortcodes, wenn die Anfragen abgeschlossen sind, und liste sie auf.

  1. Frage : Ist es möglich, VS2012 zu verwenden, um die App so zu debuggen, dass ich die Anzahl der gleichzeitigen Webanfragen ermitteln kann, die an einem beliebigen Punkt während der Ausführung auftreten?

Grund ist, dass ich herausgefunden habe, dass Sie etwas an der App.config ändern können:

%Vor%

Aber ich habe keinen guten Weg festzustellen, ob das tatsächlich funktioniert oder nicht.

  1. Setzen Server dieses Limit?

  2. Setzt das Betriebssystem diese Grenze?

  3. Legt diese App-Konfiguration und / oder .NET diese Grenze fest?

user17753 22.10.2012, 14:54
quelle

2 Antworten

2
  

Ist es möglich, VS2012 zu verwenden, um die App so zu debuggen, wo ich   kann die Anzahl der gleichzeitig ablaufenden Webanforderungen ermitteln   zu irgendeinem Zeitpunkt während der Ausführung?

Ja, sicher. Verwenden Sie Parallel Tasks und Parallel Stacks Fenster, sie sind sehr gut.

  
  1. Setzen Server dieses Limit?

  2.   
  3. Setzt das Betriebssystem diese Grenze?

  4.   
  5. Legt diese App-Konfiguration und / oder .NET diese Grenze fest?

  6.   

Die Einstellung gibt die maximale Anzahl von Verbindungen zu einem Netzwerkhost an und kann aktiviert werden die Maschinen- oder Anwendungsebene. Ein Server könnte auch ein Verbindungslimit für die Clients festlegen, aber das hängt nicht mit maxconnection attribut zusammen.

In Ihrem Beispiel kann die tatsächliche maximale Anzahl von Verbindungen auch durch Thread-Pool-Einstellungen begrenzt werden. Weitere Informationen hierzu finden Sie in diesem KB-Eintrag .

    
Serge Belov 20.11.2012 21:58
quelle
0

Verwenden Sie eine statische int-Variable und verwenden Sie Interlock Increment / Decrement. Ссылка

    
NickD 16.11.2012 17:53
quelle