簡體   English   中英

ASP.NET中的內存映射文件

[英]Memory mapped files in ASP.NET

我不確定是否可行...現在,我創建各種.RDP文件,我的用戶可以使用以下代碼直接從服務器下載這些文件:

        System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
        Response.Clear();
        Response.AddHeader("Content-Disposition", "attachment; filename=" + fileInfo.Name);
        Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
        Response.ContentType = "Content-Type=application/x-rdp rdp;charset=ISO-8859-1";
        Response.AddHeader("Content-Length", fileInfo.Length.ToString());
        Response.WriteFile(fileInfo.FullName);
        Response.End();

因此,用戶將單擊鏈接並獲得文件鏈接“〜/ Download / RemoteServer1234.RDP”。

由於各種原因,我不希望這些文件在服務器上(想到維護和安全性)。 有沒有一種方法可以制作“假文件”並提供一個指向客戶端的指針,以僅下載駐留在內存中的數據? 如果是這樣,那么服務器最終如何知道何時刪除任何分配的內存?

只需將Response.Write()與包含RDP文件內容(這是一種非常簡單的格式 )的StringBuilder(通過其ToString()方法)一起使用。 當然,您可以在Content-disposition標頭中傳遞任意字符串作為文件名。

這是RDP格式的描述(您顯然已經將其寫入文件了): 遠程桌面文件格式

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM