Auf meiner Web-API möchte ich einen Ordner nach meiner Rückkehr-Anweisung löschen.Code nach der Rückgabe ausführen
public string Post(HttpRequestMessage request)
{
//Do cool stuff with request
try
{
return "10.0.2.2:8080/myFolder/index.html";
}
finally
{
Thread.Sleep(60000);
Directory.Delete(myFolder, true);
}
}
Was ich erwartet hatte, ist, dass das Gerät die POST
machen könnte die return-Anweisung und laden Sie die html
Datei. Nach einer Minute löschen wir diese Datei, um Speicherplatz auf dem Server freizugeben.
Was passiert ist, dass die Rückgabeanweisung tatsächlich nach der finally-Anweisung gesendet wird.
Wie kann ich Code nach einer Rückgabeanweisung mit Verzögerung ausführen, ohne die Rückgabe zu verzögern?
Dinge, die Sie zu tun versuchen, ist nicht möglich, Prozess der Betrieb von der Aufruf Methode, nach Erhalt der Antwort –
Ich kann keine asynchrone Aufgabe mit einem 'thread.sleep' darin erstellen? Oder Sie sagen mir, dass ich das Gerät brauche, um einen DELETE-Aufruf an die Web-API zu senden? – BeGreen
Sobald Sie es zurückgegeben haben, ist die Methode beendet. Sie können eine Aufgabe mit 'Task.Delay (60000)' starten. – FCin