Wie kann man große Datenmengen von MVC3 richtig streamen, ohne zu viel RAM zu verwenden?

8

Ich möchte HttpResponse.OutputStream zusammen mit ContentResult verwenden, damit ich Flush von Zeit zu Zeit verwenden kann, um zu vermeiden, zu viel RAM von .Net zu verwenden.

Aber alle Beispiele mit MVC FileStreamResult, EmptyResult, FileResult, ActionResult, ContentResult zeigen Code an, der alle Daten in den Speicher bringt und an einen von diesen übergibt. Auch ein Beitrag gibt an, dass die Rückgabe von EmptyResult zusammen mit HttpResponse.OutputStream eine schlechte Idee ist. Wie sonst kann ich das in MVC tun?

Was ist der richtige Weg, um die spülbare Ausgabe von Big Data (HTML oder Binär) vom MVC Server zu organisieren?

Warum ist EmptyResult oder ContentResult oder FileStreamResult eine schlechte Idee?

    
alpav 14.09.2012, 23:14
quelle

1 Antwort

5

Sie sollten FileStreamResult verwenden, wenn Sie bereits einen Stream zum Arbeiten hatten. Oft haben Sie nur Zugriff auf die Datei, müssen einen Stream erstellen und diesen dann an den Client ausgeben.

%Vor%

Hier ist der Microsoft-Artikel, der den obigen Code erklärt.

    
Chad Kapatch 15.10.2012, 15:10
quelle