Поставщики кэша .NET, которые поддерживают потоковую передачу? - PullRequest
3 голосов
/ 12 июля 2010

Кто-нибудь знает поставщиков кеша для .NET, которые поддерживают потоковую передачу данных непосредственно по ключу, а не сериализацию / десериализацию объектов?

Я скорее надеялся, что AppFabric (Velocity) сделает это, но это только кажетсяработать с такими объектами, как встроенный кэш ASP.NET.

Ответы [ 2 ]

1 голос
/ 11 августа 2010

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(...);
0 голосов
/ 12 июля 2010

Вы можете легко реализовать это самостоятельно в своей службе WCF (я предположил, что именно это вы и хотели сделать).

Либо клиенты периодически запрашивают новые данные, либо реализуют шаблон обратного вызова для отправки новых данных подписанным клиентам по мере их поступления, в зависимости от того, на какие ключи они тоже подписаны.

В противном случае вы можете подключить каждого клиента к вашему сервису через сокет и повторить данные, полученные от вас.источник для этих сокетов, а также сохраняйте данные самостоятельно, чтобы при подключении нового клиента вы могли отправлять им целую партию данных в виде легко перевариваемых фрагментов.

Кроме того, вы можете создавать приложение так, чтобы оно непозаботьтесь о том, какие данные он передает, только о том, что он передает большой двоичный объект, и в будущем используйте его для других приложений.

Редактирование: вы всегда можете использовать потоковый транспорт , встроенный в WCF дляпоток ваших пользователей, но все равно не решит вашу проблему получения данных из источника, если они не должны были реализоватьэто тоже.

...