WCF流改变位置

时间:2012-07-07 12:25:08

标签: wcf streaming

我的客户端从另一个客户端获取流,但我的客户端只需要从该流的中间读取。

在WCF中,我获得的流无法转换为FileStream,即使其他客户端在开始时将该流创建为FileStream,然后才将该流提供给我的客户端。

这就是为什么我的客户不能这样做:

Stream1.Read(Buffer, Middle_Of_Stream, Buffer.Length)

任何解决方案都将受到赞赏!

*流媒体模式=流媒体。

1 个答案:

答案 0 :(得分:1)

您在客户端上获得的流无法转换为文件流,因为它可能绑定到用于传输的网络流。服务器中的FileStream不能(并且不应该,由于多种原因,安全性通常是其中之一)由客户端访问,因此WCF所做的是从文件流中读取,并将字节复制到网络流。在客户端,您将获得一个只读(和不可搜索)的流。

如果要将其转换为客户端的文件流,可以创建一个新文件(可能在临时目录中),然后将代理调用时获得的流保存到它。