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(); } }
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))))); }