我應該如何將文件寫入響應?我看到它有兩個不同的選項。選項之一是將該文件與BinaryWrite vs WriteFile
Response.BinaryWrite(new bytes[5])
下一個選項讀成流,然後寫入字節到瀏覽器是隻寫直接從文件系統Response.WriteFile文件。任何一種方法的優點/缺點?
編輯:糾正錯別字
我應該如何將文件寫入響應?我看到它有兩個不同的選項。選項之一是將該文件與BinaryWrite vs WriteFile
Response.BinaryWrite(new bytes[5])
下一個選項讀成流,然後寫入字節到瀏覽器是隻寫直接從文件系統Response.WriteFile文件。任何一種方法的優點/缺點?
編輯:糾正錯別字
另一個考慮是,這是否是寫的是一個時間或頻繁的文件。如果你經常寫這個文件,那麼你可能想要緩存它,因此Response.BinaryWrite
是最有意義的。
如果您在內存中使用它,我不會將它寫入文件系統並使用Response.WriteFile
。
是的,一些文件每分鐘下載一次。性能還不錯,但緩存當然是其中一個原因! – mhenrixon 2009-04-18 08:37:11
如果您有磁盤上的文件並且至少使用了asp.net 2.0,則首選Response.TransmitFile。
Response.WriteFile將整個文件讀入內存,然後將該文件寫入響應。 TransmitFile "Writes the specified file directly to an HTTP response output stream without buffering it in memory."
謝謝,我其實並不知道傳輸文件。我大部分時間都是在數據庫中存儲文件 – mhenrixon 2009-04-18 08:42:56
請在使用Response.TransmitFile之前閱讀本文:http://improve.dk/blog/2008/03/29/response-transmitfile-close-will-kill-your-application – Faisal 2011-03-14 15:59:49