2010-08-13 13 views
5

Ich arbeite an einer ASP.NET MVC App, die über Schaltflächen verfügt, die den Server eine RDP-Datei zurückgeben, die von meinem Unternehmen erstellt wird Schicht.Wie kann ich eine Datei in C# erstellen, schreiben und zurückgeben, ohne sie auf Festplatte zu speichern?

Was ich will, ist in der Lage zu haben, den Server diese rdp-Datei zu erstellen, dann dienen, ohne es auf der Festplatte gespeichert zu haben.

Was wäre der beste Weg, dies zu tun?

Danke.

+0

Was ist ein RDP übrigens? –

Antwort

7

Sie können die Datei in einem Memorystream erstellen und sie dann dazu dienen, durch Response.Write mit
Vergessen Sie auch nicht die Contenttype zu auf „application/rdp“

Edit: Als Danny Chen vorgeschlagen Sie können

Stream stream = new MemoryStream(); 
//Fill the stream here 
return new FileStreamResult(stream,"application/rdp") 
+0

Ja. MemoryStreams wäre eine ideale Wahl :) –

+0

MemoryStream ist in Ordnung, aber keine Response.Write, weil er ASP.NET MVC verwendet. –

+0

Response.Write funktioniert in MVC –

1

FileStreamResult in der Controller-Klasse verwende ich ein Memorystream-Objekt verwenden, würde die Daten in einen Speicherpuffer zu schreiben.

Aber alles hängt von Ihrer Business-Schicht ab, wenn es flexibel genug ist, um Daten in beliebige Ströme auszugeben.

Alternativ, wenn auf einem Unix-artigen Computer, mounten Sie einen Ordner mit ramfs und verwenden Sie diesen für den temporären Speicher, so dass die Datei im Speicher gespeichert wird. Aber ich denke, kleine Chance, dass Sie ASP.NET mit Linux/BSD verwenden.

Verwandte Themen