Achten Sie darauf, dass der Load Balancer während eines langen Betriebs nicht abläuft

Ich verwende ASP.NET MVC 4, um einen Video-Upload mit einer Größe von bis zu 30 MB zu akzeptieren. Sobald das Video auf die Site hochgeladen wurde, wird es mithilfe einer HttpWebRequest-Anforderung an einen Webdienst eines Drittanbieters gesendet. Dieser Upload zum Drittanbieter-Service muss abgeschlossen sein und eine Antwort zurückgeben, bevor meine Website eine Antwort an den Browser zurückgeben kann. Auf Rackspace Cloud-Sites hat der Load Balancer ein Timeout von 30 Sekunden. Wenn 30 Sekunden lang keine Antwort von meiner Site über den Lastenausgleich zurückgegeben wird, gibt der Lastenausgleich einen Timeout-Fehler an den Browser zurück und die Anforderung wird beendet.

Was mir gesagt wurde, ist, dass meine Site die Verbindung aufrechterhalten muss, indem sie Daten an den Browser zurücksendet, während meine Site das Video an das System eines Drittanbieters sendet, damit das Zeitlimit für den Lastenausgleich nicht überschritten wird. Wie würden Sie diese Aufgabe erfüllen?

Ich suche 2 Dinge - Was sende ich als Daten an den Browser zurück, während der Upload stattfindet? Meine eigentliche Antwort ist JSON. Wenn ich also meine reguläre JSON-Antwort am Ende behalten kann, wäre das ideal.

Und schließlich, wie führe ich meinen HttpWebRequest-Upload auf den Drittanbieter aus, während ich gleichzeitig die Keep-Alive-Daten sende?

-

Als Referenz ist dies das Load-Balancer-Verbindungs-Timeout-Dokument aus der Rackspace-Cloud:http://www.rackspace.com/knowledge_center/article/connection-timed-out-error-message-1

Sie bieten keine konkreten Lösungen für dieses Problem an.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage