public async Task SetItemAsync(string identifier, Stream stream)
        {
            using (var memoryStream = new MemoryStream())
            {
                await stream.CopyToAsync(memoryStream).ConfigureAwait(false);

                memoryStream.Seek(0, SeekOrigin.Begin);
                await _componentStagingStore.SetItemAsync(identifier, memoryStream).ConfigureAwait(false);

                _cache[identifier] = memoryStream.GetBuffer();
            }
        }
예제 #2
0
        public async Task StoreEvent(IIngestEvent eventObject, IMessageSender <SerializedEvent> ingestEventSender)
        {
            eventObject.IngestId  = _ingestId;
            eventObject.Timestamp = GetTimestamp();
            eventObject.Order     = await GetNumberOfStoredEvents() + 1;

            var serializedEvent = eventObject.ToSerializedEvent();

#if DEBUG
            System.Diagnostics.Debug.WriteLine(_debug_SerializeToJsonString(serializedEvent));
#endif
            await _componentStagingStore.SetItemAsync(Guid.NewGuid().ToString(), serializedEvent.GetSerializedStream()).ConfigureAwait(false);

            await ingestEventSender.Send(eventObject.ToSerializedEvent()).ConfigureAwait(false);
        }
 public static Task SetItemAsync <T>(this IComponentStagingStore store, string identifier, T item)
 {
     return(store.SetItemAsync(identifier, new MemoryStream(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(item)))));
 }