在webservice中直接使用FileStream的任何缺点?

时间:2014-07-24 13:42:30

标签: c# wcf rest filestream

我有一个小型的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()块中不起作用。

1 个答案:

答案 0 :(得分:1)

基本没有任何缺点,尽管存在一些限制,例如当您使用会话库绑定时,如

中所述

Large Data and Streaming

关于文件流,由于硬盘的旋转性质,除非你有RAID,否则并发访问可能会减慢速度。所以你可以考虑一些缓存解决方案,某种缓冲?