BinaryWrite与WriteFile

时间:2009-04-17 22:45:01

标签: asp.net

我应该使用什么来将文件写入响应?我认为有两种不同的选择。选项一是将文件读入流中,然后使用

将字节写入浏览器
Response.BinaryWrite(new bytes[5])

下一个选项是直接使用Response.WriteFile从文件系统中写入文件。这两种方法有什么优点/缺点?

编辑:纠正错别字

2 个答案:

答案 0 :(得分:5)

如果您在磁盘上拥有该文件且至少使用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."

答案 1 :(得分:4)

另一个考虑因素是这是一次写入还是经常写入的文件。如果您经常编写此文件,那么您可能希望对其进行缓存,因此Response.BinaryWrite最有意义。

如果你有内存,我不会把它写到文件系统并使用Response.WriteFile