我需要一种服务来实现以下功能: Server
定期向流中转储 XML,每次转储发生时,N
个客户端读取数据。
例如,每当一支股票上涨了 5
分钱时,服务就会将一些 XML 转储到流中。连接的应用程序从流中获取信息。
由于需要有某个程序读取新数据的流,因此我认为连接永远不会关闭。
这需要遵循 WCF REST 标准,是否有符合要求的解决方案?最终,它只是一个不间断的数据流。
更新:看起来服务需要是多部分/混合内容类型。
我需要一种服务来实现以下功能: Server
定期向流中转储 XML,每次转储发生时,N
个客户端读取数据。
例如,每当一支股票上涨了 5
分钱时,服务就会将一些 XML 转储到流中。连接的应用程序从流中获取信息。
由于需要有某个程序读取新数据的流,因此我认为连接永远不会关闭。
这需要遵循 WCF REST 标准,是否有符合要求的解决方案?最终,它只是一个不间断的数据流。
更新:看起来服务需要是多部分/混合内容类型。
从服务器向客户端(不仅仅是浏览器客户端)推送数据一直是一个棘手的问题。 SignalR使其变得非常简单,并为您处理所有繁重的工作。
Scott Hansleman在这个主题上有一篇好博客,这里还有一篇有用的文章(涉及WCF、REST和SignalR):http://www.codeproject.com/Articles/324841/EventBroker
你有没有考虑使用ASP.NET MVC WebAPI代替WCF呢?
如果想了解如何在WebAPI中使用PushStreamContent,可以参考Henrik的博客,里面有很好的示例(在“Push Content”标题下)。
max-age
以利用这一点。例如,如果您的数据具有20分钟的分辨率,则可以在订阅文档响应中包含以下标头:Cache-Control: max-age=1200