我的客户端从另一个客户端获取流,但我的客户端只需要从该流的中间读取。
在WCF中,我获得的流无法转换为FileStream
,即使其他客户端在开始时将该流创建为FileStream
,然后才将该流提供给我的客户端。
这就是为什么我的客户不能这样做:
Stream1.Read(Buffer, Middle_Of_Stream, Buffer.Length)
任何解决方案都将受到赞赏!
*流媒体模式=流媒体。
答案 0 :(得分:1)
您在客户端上获得的流无法转换为文件流,因为它可能绑定到用于传输的网络流。服务器中的FileStream
不能(并且不应该,由于多种原因,安全性通常是其中之一)由客户端访问,因此WCF所做的是从文件流中读取,并将字节复制到网络流。在客户端,您将获得一个只读(和不可搜索)的流。
如果要将其转换为客户端的文件流,可以创建一个新文件(可能在临时目录中),然后将代理调用时获得的流保存到它。