3

有谁知道.NET 的任何缓存提供程序支持直接按键输入/输出流数据,而不是序列化/反序列化对象?

我宁愿希望 AppFabric (Velocity) 能,但它似乎只处理像内置 ASP.NET 缓存这样的对象。

4

2 回答 2

1

NCache Enterprise是我能找到的唯一支持流式传输的 .NET 缓存提供程序:

// Insert
using (var cacheStream = cache.GetCacheStream("mykey", StreamMode.Write))
    cacheStream.Write(...);

// Retrieve
using (var cacheStream = cache.GetCacheStream("mykey", StreamMode.Read))
    cacheStream.Read(...);
于 2010-08-11T11:58:20.150 回答
0

您可以在自己的 WCF 服务中轻松实现这一点(我认为这就是您想要做的。)

要么让客户端定期轮询新数据,要么实现回调模式以在新数据到达时将新数据发送给订阅的客户端,这取决于它们也订阅了哪些键。

否则,您可以让每个客户端通过套接字连接到您的服务,并将您从源接收到的数据重复到这些套接字,加上自己保留数据,这样如果新客户端连接,您可以将全部数据发送给他们,在它们易于消化的块中。

另外,您可以将应用程序设计为不关心它正在流式传输什么数据,只关心它正在流式传输 blob,并将其用于将来的其他应用程序。

编辑:您始终可以使用内置于 WCF 的流式传输向您的用户流式传输,但仍然无法解决您从源检索数据的问题,除非他们也实施它。

于 2010-07-12T14:13:20.487 回答