我有一个小型的REST Web服务,可以提供文件。是否有直接使用FileStream的缺点,或者建议首先将文件写入MemoryStream(以及为什么)?
[OperationContract]
[WebGet]
public Stream GetFile(string filepath)
{
//...
Stream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.Read);
return stream;
}
我在想是否可能出现连接速度缓慢或其他原因导致问题的原因?
//编辑,如下所示:将流包装到using()块中不起作用。
答案 0 :(得分:1)
基本没有任何缺点,尽管存在一些限制,例如当您使用会话库绑定时,如
中所述关于文件流,由于硬盘的旋转性质,除非你有RAID,否则并发访问可能会减慢速度。所以你可以考虑一些缓存解决方案,某种缓冲?