Ist es vernünftig, Thread.sleep (int) in ASP.NET zu verwenden oder sollte ich eine andere Methode verwenden?

StackOverflow https://stackoverflow.com/questions/5332291

  •  26-10-2019
  •  | 
  •  

Frage

Ich möchte während einiger Testfunktionen ein leichtes Warten einführen, um einen Serveranruf zu simulieren. Ist es gesund zu verwenden? Thread.Sleep(int) Um das Warten einzuführen, oder gibt es eine bessere Methode, um den Server Wartezeit zu haben?

Beachten Sie, ich werde lange genug innehieren, damit ich visuell eine ausreichende Verzögerung sehen kann, auch wenn ich nicht erwarte, dass ich eine solche Verzögerung in der tatsächlichen App erkennen kann. Dies ist für mich, um die tatsächliche Verzögerung zu visualisieren, die könnte geschehen.

Ich habe vor, dies sowohl im vs2010 lokalen Debugger -Webserver als auch im IIS 7 auszuführen. Ich bin auf .NET 3.5

War es hilfreich?

Lösung

Thread.Sleep(int) ist was ich verwenden würde.

Andere Tipps

Wenn Sie MVC verwenden und SessionState sind Ihre Anfragen automatisch serialisiert. Wenn Sie also nach Rennbedingungen mit einem zufälligen Überprüfen Thread.Sleep() Wert, dann wird die Anfrage B niemals abgeschlossen, bevor A anfordern wird, auch wenn die Zeit, die geschlafen hat, bei weniger schlief.

ASP.NET MVC und AJAX, gleichzeitige Anfragen?

Dies ist vollkommen in Ordnung für Ihr Test Sceanrio. Solange Sie keine Stress-/Lasttests oder Aufrufe von Diensten durchführen, ersetzen sie synchron und ersetzen sie durch einen einfachen Schlaf.

Wenn Ihr Code asynchrone Serviceanrufe verwendet, möchten Sie möglicherweise etwas mehr der Serviceanrufe emulieren und auf separaten Threads schlafen, als ob Sie Service anrufen, es dauerte jedoch lange. Auf diese Weise verhalten sich ASP.NET normal und Sie können sogar einige Lasttests ausprobieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top