Azure ASP .net WebApp Zeitüberschreitung der Anforderung

Ich habe eine ASP .net MVC-Webanwendung für den Azure App-Dienst bereitgestellt.

Ich führe eine GET-Anforderung von meiner Site an eine Controllermethode aus, die Daten aus DB (DbContext) abruft. Manchmal kann der Vorgang des Abrufs von Daten aus der Datenbank länger als 4 Minuten dauern. Das bedeutet, dass meine Anfrage nicht länger als 4 Minuten bearbeitet wird. Danach bricht Azure die Verbindung ab. Ich erhalte die Nachricht:

500 - Die Anfrage ist abgelaufen.Der Webserver hat nicht innerhalb der angegebenen Zeit geantwortet.

Dies ist ein Methodenbeispiel:

 [HttpGet]
    public async Task<JsonResult> LongGet(string testString)
    {            
       var task = Task.Delay(3,60000);
        await task;            
        return Json("Woke", JsonRequestBehavior.AllowGet);
    }

Ich habe viele Fragen wie diese gesehen, aber ich habe keine Antwort bekommen:

Nicht funktioniert 1 Kann keinen anderen Link geben - Ruf ist zu niedrig.

Ich habe das gelesenArtike - Hier geht es um Azure Load Balancer, der für Webanwendungen nicht verfügbar ist. Es wurde jedoch geschrieben, dass die gebräuchliche Methode zur Behandlung meines Problems in Azure-Webanwendungen die Verwendung von TCP Keep-Alive ist. Also habe ich meine Methode geändert:

[HttpGet]
    public async Task<JsonResult> LongPost(string testString)
    {
        ServicePointManager.SetTcpKeepAlive(true, 1000, 5000);
        ServicePointManager.MaxServicePointIdleTime = 400000;
        ServicePointManager.FindServicePoint(Request.Url).MaxIdleTime = 4000000;
       var task = Task.Delay(360000);
        await task;            
        return Json("Woke", JsonRequestBehavior.AllowGet);
    }

Aber immer noch den gleichen Fehler bekommen. Ich benutze einfache GET-Anfrage wie

GET /Home/LongPost?testString="abc" HTTP/1.1
Host: longgetrequest.azurewebsites.net
Cache-Control: no-cache
Postman-Token: bde0d996-8cf3-2b3f-20cd-d704016b29c6

So bin ich auf der Suche nach der Antwort, was mache ich falsch und wie man das Zeitlimit für Anfragen in der Azure Web App erhöht. Jede Hilfe wird gebeten.

Azure-Einstellung auf dem Portal:

Web Sockets - Ein

mmer Ein - Ein

App Einstellungen

SCM_COMMAND_IDLE_TIMEOUT = 3600

WEBSITE_NODE_DEFAULT_VERSION = 4.2.3

Antworten auf die Frage(4)

Ihre Antwort auf die Frage