2015-10-31 5 views
5

Mein Projekt ist ein ASP.NET MVC 4-Projekt.Azure 4 Minuten Timeout in der Webanwendung

Während in localhost funktioniert es gut, wenn ich es in Azure hosten Ich bekomme ein Timeout in Ajax-Anrufe, die mehr als 4 Minuten dauern. Ich bin sicher, dass das Problem mit Azurblau ist, weil es egal ist, was ich auf dem Server mache. sogar nur Thread.sleep(300000) gesetzt Ich bekomme eine Zeitüberschreitung.

Ich lese in: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/ Die

eine übliche Praxis, die Verbindung aktiv für einen längeren Zeitraum zu halten, ist die Verwendung von TCP Keep-alive

und es gibt keine andere Möglichkeit, für Web-Apps. Also ich denke, was ich brauche, ist Hilfe, um den Code in asp.net zu erhalten. Ich kann das selbst nicht herausfinden. versucht, jede Minute einfachen Ajax-Aufruf an den Server zu senden, und dies hilft mir nicht so habe ich versucht, TCPKEEPALIVE wie diese zu verwenden:

public JsonResult MyLongOperation() 
{ 
    HttpWebRequest request =(HttpWebRequest)WebRequest.Create("mySite"); 
    request.Proxy = null; 
    request.ServicePoint.SetTcpKeepAlive(true, 30000, 5000); 
    Thread.Sleep(300000);//5 min sleep 
    return Json("ok",JsonRequestBehavior.AllowGet); 
} 

nicht funktioniert, ich brauche Hilfe bitte !!

Antwort

0

auch dieses Problem hatte, fand diese, für mich gearbeitet: https://azure.microsoft.com/en-us/blog/new-configurable-idle-timeout-for-azure-load-balancer/

+0

Dies ist der Link, den ich in meine Frage einfüge. wie Sie i zitiert sogar sehen „übliche Praxis, die Verbindung aktiv für einen längeren Zeitraum zu halten, ist die Verwendung von TCP-Keep-alive“ , dass, weil Idle Zeit für Azure Webapps nicht – WbbAndMobile

+0

... Dank lösen unterstützt wird. – WbbAndMobile

+0

Wie hast du es gelöst? @WbbAndMobile – ronmar

0

Haben Sie versucht, request.KeepAlive = true; ?