0
我一直在寻找网络,看着各种WCF书籍而没有找到答案 - 所以现在我在这里尝试我的运气。通过WCF无限制二进制流
我正在创建一个WCF
服务,该服务向其他利益相关者公开了一些方法。其中一种方法是连续的实时数据流,它将通过MessagePack序列化(请参见下面的示例)。
[ServiceContract]
public interface IMyHappyStreamingService
{
[OperationContract]
Stream GetLiveDataOfDataPoints(string query);
}
我的问题是,产生DataPointStorage.GetDataPoints()
的DataPoints
可能无限流应无缓冲被推到输出流中。但是如何?看到我下面的虚拟代码。
public class MyHappyStreamingService : IMyHappyStreamingService
{
public Stream GetLiveDataOfDataPoints(string query)
{
foreach (DataPoint dataPoint in DataPointStorage.GetDataPoints()) {
// Push dataPoint into output stream
}
/* Return some output stream */
}
}
我该如何映射可能无限流(IEnumerable
)在WCF一个Stream
?如果我错过了某些东西或者做了一些完全错误的事情,请纠正我:)
也许这有助于https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/large-data-and-streaming – Homerothompson
@gnsanty:谢谢,但已经:) – SOK