Behandlung von FileContentResult, wenn Datei nicht gefunden wird

8

Ich habe eine Controller-Aktion, die eine Datei basierend auf dem Container-Referenznamen (d. h. vollständiger Pfadname der Datei im Blob) aus einem azure-Blob herunterlädt. Der Code sieht etwa so aus:

%Vor%

Die Klasse BlobStorage gibt meine Hilfsklasse zum Herunterladen des Streams aus dem Blob.

Meine Frage wird im Code-Kommentar angegeben: Wie soll ich mit dem Szenario umgehen, wenn die Datei / der Stream nicht gefunden wird? Zur Zeit übergebe ich eine leere PDF-Datei, was meiner Meinung nach nicht der beste Weg ist.

    
Alex R. 23.06.2011, 07:07
quelle

1 Antwort

17

Der richtige Weg, um mit einem nicht in einer Webanwendung gefundenen Code umzugehen, ist die Rückgabe eines HTTP-Statuscodes von 404 an den Client, der in ASP.NET MVC-Termen dazu führt, dass ein HttpNotFoundResult von Ihrer Controller-Aktion:

%Vor%

Ahh, oops, habe nicht bemerkt, dass Sie immer noch auf ASP.NET MVC 2 waren. Sie könnten es selbst implementieren, weil HttpNotFoundResult nur in ASP.NET MVC 3 eingeführt wurde:

%Vor%     
Darin Dimitrov 23.06.2011, 07:09
quelle